1|BPMS 2|Intranet 3|Document Management 4|Content Management 5|Online Commerce 6|Business Rules Integración Importador (15 Julio 2014) Esta publicación pertenece al Servicio de Documentación de AuraPortal (SDAP) y todos los derechos están reservados. La reproducción total o parcial de este documento, así como la entrega a terceras partes sin el permiso escrito del SDAP quedan prohibidas. www.auraportal.com | [email protected] | Skype: AuraPortal | Tel: +34 962 954 497 | Internacional: +18 572 390 070 ÍNDICE 1. INTRODUCCIÓN ...............................................................................................................................................................3 1.1. MÉTODO DE CONEXIÓN ....................................................................................................................................... 3 2. ESTRUCTURA FICHERO DE CONFIGURACIÓN .XML ..................................................................................................5 2.1. EJEMPLO DE FICHERO (IMPORT.XML) ............................................................................................................... 5 2.1.1. Características de la sección <PROGRAMACION> ....................................................................................... 8 2.1.2. Características de la sección <IMPORTACIONINSTANTANEA> .................................................................. 9 2.1.3. Características de la Sección <INFORMADOR> ........................................................................................... 9 2.1.4. Características de la sección <IMPORTADOR> .......................................................................................... 10 2.1.5. Ejemplo Relacional de Importación de ‘Anexos’ ........................................................................................... 16 2.1.6. Notas ............................................................................................................................................................ 18 2.2. RELACIONES ENTRE DATOS ORIGEN Y DESTINO ......................................................................................... 19 3. CONSIDERACIONES SOBRE LA IMPORTACIÓN ........................................................................................................19 3.1. DATOS IMPORTACIÓN DE FICHA CUENTA (AP__CUENTASFICHAS) ........................................................... 19 3.2. DATOS IMPORTACIÓN DE FICHA ÍTEM (AP__ITEMSFICHAS)........................................................................ 24 3.3. DATOS IMPORTACIÓN DE FICHA PROYECTO (AP_PROYECTOSFICHAS) .................................................. 25 3.4. DATOS IMPORTACIÓN DE FICHA ÁREA (AP__AMBITOSFICHAS) ................................................................ 27 3.5. DATOS Y CONSIDERACIONES DE IMPORTACIÓN ANEXOS .......................................................................... 28 3.6. DATOS IMPORTACIÓN DE ROLES DE CUENTAS ............................................................................................ 31 4. SERVICIO AURAPORTAL IMPORTADOR ....................................................................................................................32 4.1. INSTALAR EL SERVICIO ‘AURAPORTAL IMPORTADOR’ ............................................................................... 32 4.1.1. Configuración para WSS 3.0 y SPF2010 ..................................................................................................... 32 4.1.2. Comprobar la instalación del Servicio .......................................................................................................... 33 4.2. DESINSTALAR EL SERVICIO ‘AURAPORTAL IMPORTADOR’ ........................................................................ 35 5. TIPOS DE IMPORTACIÓN ..............................................................................................................................................35 5.1 IMPORTACIÓN MANUAL ...................................................................................................................................... 36 5.1.1. Estructura ..................................................................................................................................................... 36 5.1.2. Operativa y Puesta en Marcha ..................................................................................................................... 36 5.2. IMPORTACIÓN PROGRAMADA .......................................................................................................................... 37 5.2.1. Estructura ..................................................................................................................................................... 37 5.2.2. Operativa y Puesta en Marcha ..................................................................................................................... 37 5.3. IMPORTACIÓN INSTANTÁNEA ........................................................................................................................... 38 5.3.1. Estructura ..................................................................................................................................................... 38 5.3.2. Operativa y Puesta en Marcha ..................................................................................................................... 38 6. IMPORTACIÓN DESDE EXCEL ....................................................................................................................................39 6.1. IMPORTACIÓN EXCEL - PASO 1. PREPARAR LA HOJA EXCEL .................................................................... 40 6.2. IMPORTACIÓN EXCEL - PASO 2. PASAR DATOS DE EXCEL A SQL ............................................................. 42 6.2.1. Ejecución Manual de un Paquete SSIS ........................................................................................................ 50 6.3. IMPORTACIÓN EXCEL - PASO 4. AURAPORTAL IMPORTADOR ................................................................... 51 7. IMPORTACIÓN DE ELEMENTOS DE FAMILIA PROPIA ..............................................................................................52 INTEGRACIÓN. IMPORTADOR Página 2 de 52 1. INTRODUCCIÓN En este documento se explica el sistema AuraPortal Importador, que permite integrar aplicaciones externas, por ejemplo un ERP, mediante el traspaso o importación de datos desde sus bases de datos hacia AuraPortal. En principio se puede importar cualquier dato a cualquier lista de AuraPortal, ya sea una lista de cualquiera de las familias de AuraPortal, de Sistema (Empleados, Tareas, Cuentas, Ítems, Proyectos y Áreas) o a sus Anexos o Familias Propias. Los datos que se traspasan con mayor frecuencia son: Clientes, Proveedores, Proyectos, Contactos, etc…. El sistema consta de: El programa ejecutable AURAPORTALIMPORTADOR.EXE para realizar importaciones MANUALES, y El Servicio Windows AURAPORTAL IMPORTADOR para realizar importaciones AUTOMÁTICAS, que pueden ser: o INSTANTÁNEAS, la importación se realizará cada ‘X’ segundos. o PROGRAMADAS, la importación se realizará los días ‘X’ a la hora ‘X’. La importación se realiza según lo que se ha configurado en un fichero o ficheros XML. El fichero XML de configuración incluye distintas secciones, las cuales determinarán el desarrollo de la importación. El nombre y trayectoria de los ficheros XML de configuración puede ser obligatoria o no según el tipo de importación elegido. Concretamente: - En la importación MANUAL no es necesario que el archivo .XML tenga un nombre o una trayectoria concreta. - En la importación AUTOMÁTICA PROGRAMADA se utilizará un fichero cuyo nombre debe ser IMPORT.XML que debe estar ubicado en la trayectoria: C:\Archivos de programa\Archivos comunes\AuraPortal\Import - En la importación AUTOMÁTICA INSTANTÁNEA se utilizarán ficheros XML de cualquier nombre y ubicados en cualquier trayectoria y un fichero cuyo nombre debe ser IMPORT.XML que debe estar ubicado en la trayectoria: C:\Archivos de programa\Archivos comunes\AuraPortal\Import Los detalles referentes a los diferentes tipos de importación se van a explicar en detalle en los apartados siguientes. Nota. En este documento se utilizan las trayectorias por defecto y ejemplos concretos para hacerlo más entendible. Tener en cuenta esto para localizar correctamente los datos auténticos en cada instalación. 1.1. Método de conexión El sistema de importación de datos a AuraPortal permite importar datos que estén en cualquier programa externo que tenga una base de datos MS SQL Server o que disponga de conexión ODBC. De esta manera, AuraPortal puede fácilmente integrarse con prácticamente cualquier programa del mercado (Navision, SAP, DIMONI, Exact, Sage, Sie, etc…). INTEGRACIÓN. IMPORTADOR Página 3 de 52 MS-SQL SERVER (Nativo) ODBC Oracle Informix Progress AS/400 DB2 MS-SQL SERVER MS-ACCESS Excel Otros… Nota. Si se va a conectar con otra base de datos distinta de SQL Server (2005 o superior), asegurarse de que el driver ODBC correspondiente está instalado en el servidor donde se instaló AuraPortal. Ver Herramientas administrativas\Orígenes de datos (ODBC). En la imagen siguiente se puede ver un esquema de las conexiones que se pueden establecer a través de drivers ODBC entre bases de datos distintas y listas de familias de AuraPortal, alojadas en sitios de SharePoint. Los datos siempre van de un origen de datos externo a las listas de SharePoint de AuraPortal. INTEGRACIÓN. IMPORTADOR Página 4 de 52 2. ESTRUCTURA FICHERO DE CONFIGURACIÓN .XML De forma genérica, los ficheros de configuración XML tienen distintas secciones, que se utilizarán o no dependiendo del tipo de importación elegido. Para más información sobre la utilización o no de estas secciones consultar el apartado correspondiente en este documento. Las secciones disponibles son: <Programacion> Especifica la programación, días y horas en las que se realizará la importación. Solo se admite una importación al día. Esta sección solo se utilizará en la importación automática de tipo programada. <ImportacionInstantanea> Define la ruta donde se alojarán los ficheros de importación instantánea y cada cuánto se va a importar. Una trayectoria recomendada es: “C:\Archivos de programa\Archivos comunes\AuraPortal\Import\Instantanea" Esta sección solo se utilizará en la importación automática de tipo instantánea. <Informador> Define la ruta de los ficheros .LOG. Una trayectoria recomendada es: “C:\Archivos de programa\Archivos comunes\AuraPortal\Import\Logs” Esta sección solo se utilizará en la importación automática tanto programada como automática. <Importador> Contiene la consulta que define los datos a importar. Esta sección se utilizará en todos los tipos de importación automática y manual. Nota. En la instalación de AuraPortal se han incluido dos archivos .XML de Ejemplo. Pueden locali-zarse en la siguiente trayectoria: C:\Inetpub\sitioauraportal\Home\Util\DOC_&_UTIL\Servicio_Importador\Ejemplos 2.1. Ejemplo de Fichero (Import.xml) Como se ha explicado anteriormente, AuraPortal Importador utiliza ficheros de configuración con formato XML para realizar la importación. El nombre y trayectoria de los ficheros XML de configuración puede ser obligatoria o no según el tipo de importación elegido. Concretamente, En la importación MANUAL el fichero .XML que se utilizará no necesita tener un nombre ni una ubicación específica. En la importación AUTOMÁTICA PROGRAMADA se utilizará un fichero cuyo nombre debe ser IMPORT.XML que debe estar ubicado en la trayectoria: C:\Archivos de programa\Archivos comunes\AuraPortal\Import En la importación AUTOMÁTICA INSTANTÁNEA se utilizarán ficheros XML de cualquier nombre y ubicados en cualquier trayectoria y además se utilizará un fichero cuyo nombre debe ser IMPORT.XML que debe estar ubicado en la trayectoria: C:\Archivos de programa\Archivos comunes\AuraPortal\Import INTEGRACIÓN. IMPORTADOR Página 5 de 52 Para más información sobre los tipos de importación disponibles, consultar el apartado correspondiente en este documento. A continuación se muestra un ejemplo de fichero .XML (IMPORT.XML) con todas las secciones. Nota. En el siguiente ejemplo se ha reproducido el fichero import.xml que sería necesario para importar datos (concretamente los ‘Posibles Clientes’) del ERP DIMONI. Tener esto en cuenta para todos los comentarios y explicaciones sobre los campos. Siempre que hablemos de los campos ‘Origen’, en este ejemplo estaremos hablando de campos de las tablas del ERP DIMONI. Ejemplo: <?xml version="1.0" encoding="utf-8" ?> <Page Name="Importador"> <Programacion> <Dia nombre="Lunes" hora="02:00" /> <Dia nombre="Martes" hora="13:00" /> <Dia nombre="Miercoles" hora="02:00" /> <Dia nombre="Jueves" hora="13:00" /> <Dia nombre="Viernes" hora="02:00" /> <Dia nombre="Sabado" hora="13:00" /> <Dia nombre="Domingo" hora="02:00" /> </Programacion> <ImportacionInstantanea> <Ficheros ruta="C:\Archivos de programa\Archivos comunes\AuraPortal\Import\Instantanea" /> <FrecuenciaConsulta seg="60" /> </ImportacionInstantanea> <Informador> <Log activo="True" debug="False" ruta="C:\Archivos de programa\Archivos comunes\AuraPortal\Import\Logs" /> <Sucesos activo="True" debug="False" /> </Informador> <Importador> <ManejadorLista tamBloqueActualizacion="400" /> <Fichero titulo="PCTAS" activo="True"> <CadenaConexion tipo="ODBC" cadena="Driver={SQL server};Server=SERORD1;uid=sa;pwd=???;Database=BaseDERP;" /> <ConsultaSQL ordenada="True" sentencia=" SELECT C.Codigo AS CodigoCuenta, C.Razon AS Nombre, C.Nombre AS NombreComercial, ISNULL(C.Direccio,' ') + ' ' + ISNULL(C.Amplia, ' ') AS Direccion, INTEGRACIÓN. IMPORTADOR C.Localida AS Ciudad, C.CPostal AS CodigoPostal, P.Nombre AS Pais, PR.Nombre AS '3' AS Provincia, ClaseCuenta, '_Pendiente Clasificar' AS '_No Definido' AS NombreClaseCuenta, CuentaBancaria, Página 6 de 52 Cast (case C.Activo when '1' then 0 when '2' then 1 else 1 end as bit) AS Estado, C.DirEMail AS EMail, C.Fax AS Fax, FP.Descripc FormaPago, Convert(float, '2') AS IdInteres, C.Nif AS NIF, C.DirWeb AS SitioWeb, C.Tlfno_1 AS Telefono1, C.Tlfno_2 AS Telefono2, '_No Definido' AS Comentarios, Cast (0 as bit) AS Convert(float, '0') AS Confidencial, IdSectorAsc, '0fc1b89d-8577-4488-b23c-c87bcf8d747b' AS GuidCargoResponsable FROM dbo.PCTAS C dbo.GPAI0 P ON C.Pais LEFT OUTER JOIN = P.CodPais dbo.GPAI1 PR ON C.Pais LEFT OUTER JOIN = PR.CodPais AND C.Provinci = PR.CodProvi LEFT OUTER JOIN dbo.PCTAV CV ON C.GRP_ID = CV.GRP_ID AND C.Codigo = CV.Codigo LEFT OUTER JOIN dbo.FACDE FD ON CV.GRP_ID = FD.GRP_ID AND '1' = FD.ClaseCta AND CV.CtaFinan = FD.Codigo LEFT OUTER JOIN dbo.SFPCA FP ON FD.GRP_ID = FP.GRP_ID AND FD.Modalida = FP.Codigo WHERE C.GRP_ID = 'E_EJERCICIO' ORDER BY CodigoCuenta, NIF" /> <SiteDestino url="http://aura.portal.local" autenticacion="basica" usuario="adminportal" password="?" dominio="MiDominioWindows" /> <ListaDestino nombre="Ap__CuentasFichas" /> <CamposSharePoint> <Campo nomColumna="CodigoCuenta" clavePrimaria="True" /> <Campo nomColumna="Nombre" /> <Campo nomColumna="NombreComercial" /> <Campo nomColumna="Direccion" /> <Campo nomColumna="Ciudad" /> <Campo nomColumna="CodigoPostal" /> <Campo nomColumna="Pais" /> <Campo nomColumna="Provincia" /> <Campo nomColumna="ClaseCuenta" actualizable="False" /> <Campo nomColumna="NombreClaseCuenta" actualizable="False" /> <Campo nomColumna="CuentaBancaria" /> <Campo nomColumna="Estado" /> <Campo nomColumna="EMail" /> <Campo nomColumna="Fax" /> <Campo nomColumna="FormaPago" /> <Campo nomColumna="IdInteres" /> INTEGRACIÓN. IMPORTADOR Página 7 de 52 <Campo nomColumna="NIF" clavePrimaria="True" /> <Campo nomColumna="SitioWeb" /> <Campo nomColumna="Telefono1" /> <Campo nomColumna="Telefono2" /> <Campo nomColumna="Comentarios" /> <Campo nomColumna="Confidencial" /> <Campo nomColumna="IdSectorAsc" /> <Campo nomColumna="GuidCargoResponsable" actualizable="False" /> </CamposSharePoint> </Fichero> </Importador> </Page> La primera línea del fichero siempre es una cabecera estándar de un fichero .XML. <?xml version="1.0" encoding="utf-8" ?> A continuación se explican, sección por sección, las etiquetas y atributos que forman parte de la estructura del fichero. 2.1.1. Características de la sección <PROGRAMACION> Se define entre las etiquetas <Programacion> y </Programacion>. Se ejecuta cuando la importación es de tipo Programada. Se indican los días y las horas en las que el Servicio Windows hará la importación. Sólo se permite una programación al día. En nuestro ejemplo: <Programacion> <Dia nombre="Lunes" hora="02:00" /> <Dia nombre="Martes" hora="13:00" /> <Dia nombre="Miercoles" hora="02:00" /> <Dia nombre="Jueves" hora="13:00" /> <Dia nombre="Viernes" hora="02:00" /> <Dia nombre="Sabado" hora="13:00" /> <Dia nombre="Domingo" hora="02:00" /> </Programacion> EXPLICACIÓN DE LAS ETIQUETAS: 2.1.1.1. <Dia> <Dia nombre="Lunes" hora="02:00" /> La etiqueta <Dia> registra el día de la semana en el que se quiere realizar la importación. Los nombres válidos son: Lunes, Martes, Miercoles, Jueves, Viernes, Sabado y Domingo. Nota. No es necesario escribir todos los días de la semana, pero sólo hará la importación de los que se hayan escrito. Si se repite un nombre, la última aparición sobrescribirá a las anteriores. Si se escribe el nombre de otra forma, no hará importación ese día. INTEGRACIÓN. IMPORTADOR Página 8 de 52 2.1.2. Características de la sección <IMPORTACIONINSTANTANEA> Se define entre las etiquetas <ImportacionInstantanea> y </ImportacionInstantanea>. Se indica dónde se han de situar los ficheros .XML de configuración y cada cuánto tiempo se importarán. En nuestro ejemplo: <ImportacionInstantanea> <Ficheros ruta="C:\Archivos de programa\Archivos comunes\AuraPortal\Import\Instantanea" /> <FrecuenciaConsulta seg="60" /> </ImportacionInstantanea> EXPLICACIÓN DE LAS ETIQUETAS: 2.1.2.1. <Ficheros> <Ficheros ruta="C:\Archivos de programa\Archivos comunes\AuraPortal\Import\Instantanea" /> En la etiqueta <Ficheros> se define la ruta de donde el Servicio Windows va a leer los ficheros XML de configuración que se importarán al momento. 2.1.2.2. <FrecuenciaConsulta> <FrecuenciaConsulta seg="60" /> En la etiqueta <FrecuenciaConsulta> se define cada cuánto tiempo el Servicio Windows consulta si hay ficheros nuevos y realiza la importación si los hay. Los ficheros encontrados en la trayectoria definida ( <..\Instantanea> ) son importados y posteriormente eliminados. Nota. Si existen ficheros que no tienen la extensión XML, el Servicio Web no podrá procesarlos, anota un mensaje en el fichero LOG, y a continuación los elimina igualmente. 2.1.3. Características de la Sección <INFORMADOR> Se define entre las etiquetas <Informador> y </Informador>. Se ejecuta tanto en la importación Programada como en la Instantánea. Se indica la trayectoria donde automáticamente se grabarán los logs que realice el Servicio AuraPortal Importador, en nuestro ejemplo: <Informador> <Log activo="True" debug="False" ruta="C:\Archivos de programa\Archivos comunes\AuraPortal\Import\Logs" /> <Sucesos activo="True" debug="False" /> </Informador> INTEGRACIÓN. IMPORTADOR Página 9 de 52 EXPLICACIÓN DE LAS ETIQUETAS: 2.1.3.1. <Log> <Log activo="True" debug="False" ruta="C:\Archivos de programa\Archivos comunes\AuraPortal\Import\Logs" /> En la etiqueta <Log> se registra la trayectoria donde se guardan los logs y mensajes de aviso. 2.1.4. Características de la sección <IMPORTADOR> Se define dentro de las etiquetas <Importador> e </Importador>. Se ejecuta tanto en la importación Manual como en la Automática (Programada e Instantánea). En esta sección se define la consulta que extraerá los datos del programa externo y los incluirá en la/las listas de AuraPortal, en nuestro ejemplo: <Importador> <ManejadorLista tamBloqueActualizacion="400" /> <Fichero titulo="PCTAS" activo="True"> <CadenaConexion tipo="ODBC" cadena="Driver={SQL Server};Server=SERORD1;uid=sa;pwd=???;Database=BaseDERP; AutoTranslate=No " /> <ConsultaSQL ordenada="True" sentencia=" SELECT C.Codigo AS (Etc….) CodigoCuenta, <SiteDestino url="http://aura.portal.local" autenticacion="basica" usuario="adminportal" password="?" dominio="MiDominioWindows" /> <ListaDestino nombre="Ap__CuentasFichas" /> <CamposSharePoint> <Campo nomColumna="CodigoCuenta" clavePrimaria="True" /> (Etc….) </CamposSharePoint> </Fichero> </Importador> EXPLICACIÓN DE LAS ETIQUETAS: 2.1.4.1. <ManejadorLista> <ManejadorLista tamBloqueActualizacion="400" /> En la etiqueta <ManejadorLista> se define el número de registros que procesa y actualiza al mismo tiempo. En nuestro ejemplo, realizará actualizaciones en bloques de 400 registros. 2.1.4.2. <Fichero> <Fichero titulo="PCTAS" activo="True"> INTEGRACIÓN. IMPORTADOR Página 10 de 52 La etiqueta <Fichero> define la importación de un fichero maestro, por ejemplo importación de cuentas, o importación de ítems. Se pueden configurar varias importaciones independientes, cada una de ellas dentro de las etiquetas <Fichero></Fichero>. En realidad, cada nodo <Fichero> define la importación de unos datos externos a una lista SharePoint. Normalmente se querrá hacer sobre las listas de ficheros maestros, como Cuentas, Ítems,…, pero nada impide que se haga sobre cualquier otra lista de SharePoint, como un anexo. titulo="PCTAS" El atributo titulo recoge un nombre descriptivo para el fichero maestro origen de la importación. El Nombre de la tabla es orientativo y no tiene porqué coincidir con el de la tabla de la Base de Datos Origen. Lo que realmente indica el nombre de la tabla a seleccionar es la propia sentencia SQL. activo="True" El atributo activo indica si se considerará o no ese nodo <Fichero>. Si el valor es “True” el Servicio Windows ejecutará las instrucciones del nodo, si es “False” no. 2.1.4.3. <CadenaConexion> <CadenaConexion tipo="ODBC" cadena="Driver={SQL Server};Server=SERORD1;uid=sa;pwd=???;Database=BaseDERP; AutoTranslate=No " /> La etiqueta <CadenaConexion> indica las propiedades de la conexión al origen de datos externo. Es la cadena de conexión utilizada para acceder vía “ODBC” o “SQL Server”. Nota. Actualmente los objetos de importación de AuraPortal están preparados para conexiones ODBC (lo soportan todas las bases de datos estándar) y MS-SQL Server (nativo). tipo="ODBC" El atributo tipo indica el tipo de origen de datos. Los valores válidos son ODBC y SQL Server, para conexiones a un proveedor de datos ODBC o a una base de datos SQL Server, respectivamente. cadena="Driver={SQL Server};Server=SERORD1;uid=sa;pwd=???;Database=BaseDERP" El atributo cadena define la cadena de conexión. Cada cadena de conexión debe tener una sintaxis válida para el tipo de conexión que representa. Server=SERORD1 El parámetro Server recoge el nombre del servidor con el cual se va a conectar. uid=sa;pwd=??? Los parámetros uid y pwd recogen el usuario y contraseña, que hará la conexión en caso de que el servidor SQL se haya configurado con autenticación Mixta. Database= BaseDERP El parámetro Database recoge el nombre de la base de datos con la cuál se va a conectar. Otro tipo de cadena que se usa con frecuencia es la siguiente: cadena="Driver={SQL Server};Server=SERORD1;Database=ERP;Trusted_Connection=yes " /> Trusted_Connection=yes El parámetro Trusted_Connection se utiliza en caso de que el servidor SQL se haya configurado con autenticación integrada de Windows. INTEGRACIÓN. IMPORTADOR Página 11 de 52 EJEMPLOS CADENAS DE CONEXIÓN VÍA ODBC MS-SQL SERVER (ODBC) Standard Security (utilizado con “Autenticación de SQL Server o Mixta) "Driver={SQL Server};Server=Aron1;Database=pubs;Uid=sa;Pwd=???;" Trusted connection (utilizado con “Autenticación de Windows”) "Driver={SQL Server};Server=Aron1;Database=pubs;Trusted_Connection=yes;" MS-ACCESS Standard Security: "Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=???;" ORACLE Nueva Versión: "Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=Username;Pwd=asdasd;" Antiguas versiones: "Driver={Microsoft ODBC Driver for Oracle};ConnectString=OracleServer.world;Uid=myUsername;Pwd=myPassword; " OTRAS En la siguiente URL se pueden consultar distintas cadenas de conexión: http://www.connectionstrings.com/ 2.1.4.4. <ConsultaSQL> <ConsultaSQL ordenada="True" sentencia=" En la etiqueta <ConsultaSQL> se define una sentencia en lenguaje SQL, compatible con el origen de datos, que devuelve los datos de origen. La consulta SQL se puede probar antes en el Analizador de Consultas de SQL Server o una herramienta similar, para comprobar que los datos recuperados del origen son los esperados. ordenada="True" El atributo ordenada indica si los datos devueltos por la consulta están ordenados ascendentemente, por todas las columnas miembros de la clave primaria. Los posibles valores son True o False. Nota. Si se indica que los datos están ordenados, el rendimiento del Importador aumenta considerablemente, pero si se indica que están ordenados y no lo están, los resultados pueden ser inesperados. Si está ordenado se realiza una mecánica diferente para poder comparar “Datos Origen y Destino” e ir más rápido. Si los datos Origen y Destino están ordenados, no tiene que ir recorriendo los datos de las tablas por cada registro a procesar. Por ejemplo, si se hace una consulta que devuelve 10 columnas y se definen la 2 y la 5 como Clave Primaria, el resultado debe estar ordenado por la columna 2 y 5 (por las dos y en orden). Si se coloca ordenada=“True”, es preciso seguir estas indicaciones: - Utilizar la cláusula <ORDER BY …. > en la consulta, indicándole los campos por los que se ordenará la consulta. INTEGRACIÓN. IMPORTADOR Página 12 de 52 - En la lista de destino, tienen que estar como <clavePrimaria=”True”> los campos que estén como <ORDER BY…..> en los datos origen. sentencia=" …." El atributo sentencia engloba la consulta en lenguaje SQL compatible con el origen de datos. Desde: "SELECT Hasta: C.Codigo AS CodigoCuenta, ORDER BY CodigoCuenta, NIF" /> Nota. Asegurarse de que la consulta del fichero XML es compatible con el gestor de base de datos que se va a consultar. Por ejemplo, para conectar con SQL Server 2005 o superior se puede usar una cadena de conexión para SQL nativo y la consulta puede utilizar SQL nativo. Para más información, consultar la ayuda correspondiente al gestor de base de datos implicado en cada caso. Nota. Al hacer la consulta, no olvidar que el tipo de datos origen y destino deben coincidir. Cuando no sea así, se deberán utilizar conversores (CAST, CONVERT, etc) Nota. En ocasiones, al pasar datos de SQL a SharePoint, los caracteres se pueden alterar y en lugar de pasar una ‘ñ’ pasa ‘+-‘, en lugar de pasar ‘í’ pasa ‘ý’. Para evitarlo, se usa el parámetro AutoTranslate con el valor No. 2.1.4.5. <SiteDestino> <SiteDestino url="http://aura.portal.local" autenticacion="basica" usuario="adminportal" password="?" dominio="MiDominioWindows" /> En la etiqueta <SiteDestino> se define el sitio que aloja la lista que va a recibir los datos. url=http://aura.portal.local El atributo url registra la URL del sitio de SharePoint Services en el que se instaló AuraPortal. autenticacion="basica" El atributo autenticacion debe tener el valor “basica”. usuario="adminportal" El atributo usuario debe registrar un login de usuario que tenga acceso en AuraPortal. password="?" El atributo password debe registrar el password que corresponda al login introducido. dominio="MiDominioWindows" El atributo dominio debe registrar el nombre del dominio o grupo de trabajo al que pertenece el usuario que hace “login”. 2.1.4.6. <ListaDestino> <ListaDestino nombre="Ap__CuentasFichas" /> En la etiqueta <ListaDestino> se define la lista que va a recibir los datos desde el origen. nombre="Ap__CuentasFichas" INTEGRACIÓN. IMPORTADOR Página 13 de 52 El atributo nombre debe registrar el nombre de la lista de AuraPortal donde se van a grabar los datos. 2.1.4.7. <CamposSharePoint> Desde: <CamposSharePoint> <Campo nomColumna="CodigoCuenta" clavePrimaria="True" /> Hasta: <Campo nomColumna="GuidCargoResponsable" actualizable="False" /> </CamposSharePoint> Existen 2 métodos para definir los campos de SharePoint: No Relacional (generalmente será el utilizado) Relacional Nota. El número de campos SharePoint debe ser el mismo que el número de columnas que devuelve la consulta SQL. La asociación entre las columnas de la consulta SQL y los campos SharePoint es 1 a 1, y en el orden en el que aparecen. EJEMPLO NO RELACIONAL <CamposSharePoint> <Campo nomColumna="CodigoCuenta" clavePrimaria="True" /> <Campo nomColumna="NIF" clavePrimaria="True" actualizable=”False” /> Etc… </CamposSharePoint> La etiqueta <CamposSharePoint> registra la lista de campos (columnas) de la lista de SharePoint que se van a actualizar con el importador. nomColumna="CodigoCuenta" El atributo nomColumna registra el nombre de la columna de la lista de SharePoint destino. clavePrimaria="True" o “False” El atributo clavePrimaria es opcional. Indica si la columna es clave primaria o no. Si no se pone atributo, se entiende que es “False”. Es la clave de relación para buscar en la lista de AuraPortal. Esto indica que esta clave no podrá tener duplicados. En nuestro ejemplo, hemos definido 2 campos de relación: CodigoCuenta y NIF. Pues bien, la suma de estos 2 campos no puede tener duplicados en la lista de AuraPortal correspondiente. Además, la consulta SQL debe tener en la ordenación estos mismos campos. Ejemplo: ORDER BY CodigoCuenta, NIF" /> actualizable="True" o “False” El atributo actualizable es opcional. Indica si el campo debe actualizarse o no al hacer la importación. Si no se pone atributo, se entiende que es “True”. “False”: Sólo actualizará este campo si el registro no existe en la lista; por ejemplo en el caso de un nuevo registro. “True”: Siempre actualizará el campo, tanto si existe el registro, como si no. Este parámetro es útil para evitar actualizar campos que la primera vez se pasan desde el ERP, pero luego, siguen sus propias modificaciones dentro de AuraPortal, independientemente del ERP. INTEGRACIÓN. IMPORTADOR Página 14 de 52 EJEMPLO RELACIONAL <CamposSharePoint> <Campo nomColumna="ID Ficha" clavePrimaria="True" claveExterna="True" listaAsociada="AP__CuentasFichas" nomColumnaExterna="CodigoCuenta" nomColumnaAsociada="Id." actualizable=”False” />Etc… </CamposSharePoint> La etiqueta <CamposSharePoint> registra la lista de campos (columnas) de la lista de SharePoint que se van a actualizar con el importador pero cuando la consulta es relacional se utiliza más de una lista de AuraPortal. Las listas están relacionadas, y se accede a una de ellas para obtener información y grabarla en la otra. Por ejemplo cuando queremos importar Anexos para que estos queden relacionados con los elementos de las familias a las que pertenecen usaremos el método relacional (ver ejemplo Importación de Anexos). nomColumna="CodigoCuenta" El atributo nomColumna registra el nombre de la columna de la lista de SharePoint destino. clavePrimaria="True" o “False” El atributo clavePrimaria es opcional. Indica si la columna es clave primaria o no. Si no se pone atributo, se entiende que es “False”. Es la clave de relación para buscar en la lista de AuraPortal. Esto indica que esta clave no podrá tener duplicados. En nuestro ejemplo, hemos definido 2 campos de relación: CodigoCuenta y NIF. Pues bien, la suma de estos 2 campos no puede tener duplicados en la lista de AuraPortal correspondiente. Además, la consulta SQL debe tener en la ordenación estos mismos campos. Ejemplo: ORDER BY CodigoCuenta, NIF" /> claveExterna="True" El atributo claveExterna es opcional. Indica si la columna es clave externa o no. Las claves externas se utilizan para poder enlazar datos de una lista con datos de otra lista, por ejemplo, para importar anexos y asociarlos al elemento correspondiente. (ver un ejemplo más adelante). Si no se pone atributo, se entiende que es “False”. listaAsociada="AP__CuentasFichas" El atributo listaAsociada es opcional, excepto si se ha definido el campo como clave externa, en cuyo caso es obligatorio. Indica la lista a la que hace referencia la clave externa. nomColumnaAsociada="ID." El atributo nomColumnaAsociada es opcional, excepto si se ha definido el campo como clave externa, en cuyo caso es obligatorio. Indica el campo de la lista asociada que permite la asociación entre filas de las dos listas. nomColumnaExterna="CodigoCuenta" El atributo nomColumnaExterna es opcional, excepto si se ha definido el campo como clave externa, en cuyo caso es obligatorio. Indica el campo de la lista asociada que permite la asociación entre filas de la lista asociada y el origen de datos externo. actualizable="True" o “False” El atributo actualizable es opcional. Indica si el campo debe actualizarse o no al hacer la importación. Si no se pone atributo, se entiende que es “True”. “False”: Sólo actualizará este campo si el registro no existe en la lista; por ejemplo en el caso de un nuevo registro. “True”: Siempre actualizará el campo, tanto si existe el registro, como si no. Este parámetro es útil para evitar actualizar campos que la primera vez se pasan desde el ERP, pero luego, siguen sus propias modificaciones dentro de AuraPortal, independientemente del ERP. INTEGRACIÓN. IMPORTADOR Página 15 de 52 2.1.5. Ejemplo Relacional de Importación de ‘Anexos’ Los anexos tienen una particularidad y es que, el registro de la lista o biblioteca anexada debe quedar enlazado al elemento al que pertenece, por ese motivo existen una serie de campos que se crean automáticamente al dar de alta un Anexo desde AuraPortal. Algunos de estos campos permanecen ocultos, pero es preciso tenerlos en cuenta a la hora de realizar la importación. Dentro de este tipo de campos están los campos ‘Clase’ y ‘Cuenta’ (Si el Anexo es de Cuentas, ‘Item’ si el Anexo es de Ítems etc.) que no están ocultos y el campo ‘IdElemento’ que es un campo oculto y es el que realmente hace el enlace entre el elemento de la familia y el registro del anexo. Estos campos ‘Clase’, ‘Cuenta’ e ‘IdElemento’ no se obtienen de la base de datos a importar, se obtienen del propio AuraPortal, de la lista del elemento al que le pertenece el anexo. Cuando se prepare la importación, estos campos se importarán por el método relacional. De los datos de origen podemos obtener el campo ‘CodigoERP’ (en la familia cuentas ‘CodigoCuenta’) del elemento al que le pertenecen los datos que queremos importar en el anexo. Con el ‘CodigoERP’ (en la familia cuentas ‘CodigoCuenta’) se puede acceder a la lista de la familia del elemento y obtener los datos ‘Clase’, ‘Cuenta’ (Si el Anexo es de Cuentas, ‘Item’ si el Anexo es de Ítems etc.) e ‘IdElemento’. Al realizar la importación estos datos se grabarán en el registro del Anexo y realizarán el enlace entre el elemento de la familia y el registro del Anexo. Por lo tanto, al realizar una importación el campo ‘CodigoERP’ (en la familia cuentas ‘CodigoCuenta’) será el que nos proporcione los campos de enlace. Cada campo de enlace deberá ser importado con el método relacional. Ejemplo: Tenemos en una base de datos SQL las Fichas de los Contratos de clientes. Los clientes están ya dados de alta en AuraPortal como Cuentas (AP__CuentasFichas) y hemos creado un Anexo (Ficha Contrato) en la familia Cuentas. Pretendemos importar los datos de las fichas de los contratos de la base de datos SQL al anexo ‘Ficha Contrato’. En la consulta SQL del fichero XML de configuración correspondiente debe haber una fila que obtenga el CodigoERP (en la familia cuentas ‘CodigoCuenta’) por cada campo de SharePoint que se importe por el método relacional. <ConsultaSQL ordenada="True" sentencia=" SELEC CodCuenta AS IdElemento, CodCuenta AS Clase, CodCuenta AS Cuenta, NContrato AS NContrato, TipoContrato AS TipoContrato FROM dbo. FichaContrato ORDER BY NContrato," /> <SiteDestino url="http://aura.portal.local" autenticacion="basica" usuario="adminportal" password="?" dominio="MiDominioWindows" /> <ListaDestino nombre="FichaContrato" /> <CamposSharePoint> <Campo nomColumna="IdElemento" claveExterna="True" listaAsociada="AP__CuentasFichas" nomColumnaExterna="CodigoCuenta" nomColumnaAsociada="Id." /> <Campo nomColumna="Clase" claveExterna="True" listaAsociada="AP__CuentasFichas" nomColumnaExterna="CodigoCuenta" nomColumnaAsociada="NombreClaseCuenta" /> INTEGRACIÓN. IMPORTADOR Página 16 de 52 <Campo nomColumna="Cuenta" claveExterna="True" listaAsociada="AP__CuentasFichas" nomColumnaExterna="CodigoCuenta" nomColumnaAsociada="Nombre" /> <Campo nomColumna="NContrato" clavePrimaria="True" /> <Campo nomColumna="TipoContrato" /> </CamposSharePoint> Ver el siguiente esquema: Nota. Es muy importante para poder importar Anexos que estos estén creados en el mismo sitio donde están creadas las listas de AuraPortal (/), de lo contrario no se podrán importar campos de forma relacional. Hay que tener en cuenta que por defecto los Anexos se crean en el sitio “Gestión de Bibliotecas y Listas” (/doc). Para poder realizar importaciones sucesivas que actualicen los datos importados en una lista de Anexos de una familia, se necesita un campo que relacione cada registro de origen con un registro de destino. Al existir este campo, cuando se realizan sucesivas importaciones, los registros que no existen en destino se crean y los ya existentes se actualizan, si no existiera este campo se crearían todos los registros de nuevo, produciéndose duplicados. Este campo de relación debe existir en la base de datos de origen y en el Anexo destino (lista de SharePoint). El origen de datos debe estar ordenado por ese campo y en el destino ese campo debe marcarse como Clave Primaria. En el ejemplo anterior: Origen ORDER BY NContrato," /> Destino INTEGRACIÓN. IMPORTADOR Página 17 de 52 <Campo nomColumna="NContrato" clavePrimaria="True" /> Si en el Anexo (destino) no tenemos un campo que pueda ser la Clave Primaria, deberemos crear uno. Por ejemplo en los Anexos de tipo Monoregistro, se puede incluir en el Anexo un campo que sea el código del elemento de la familia al cual estamos anexando datos. Como este campo está en la base de datos origen, si lo incluimos como un campo en el Anexo de SharePoint, también lo tendremos en destino y podrá actuar como la Clave Primaria. En cambio en los Anexos de tipo Multiregistro se puede crear en el Anexo un campo que sea el Id del registro origen de los datos que vamos a importar, y ese campo puede hacer de Clave Primaria. Nota. Hay que tener en cuenta que el campo que actúe como Clave Primaria: - No puede ser un campo que en destino también actúe como campo Relacional. - No puede ser el campo que en el Anexo corresponde al campo Title de la lista (nombre interno de la columna que se crea por defecto al crear una lista). 2.1.6. Notas Nota. Recordamos que los campos de la <Consulta SQL> y los campos de la <ListaDestino> deben ser los mismos y estar en el mismo orden. Ver figura siguiente: Nota. Atención con las mayúsculas, el XML es case-sensitive. Atención con la ordenación, si se dice que está ordenada la consulta debe estarlo. Atención con la duplicación de claves primarias. INTEGRACIÓN. IMPORTADOR Página 18 de 52 2.2. Relaciones entre Datos Origen y Destino En la tabla siguiente se presenta la relación entre los tipos de datos en SQL Server 2000 y su correspondencia en SharePoint. CrossProjectLink Recurrence User Attachments File Computed Guid Threading Boolean MultiChoice GridChoice Lookup Choice URL DateTime Currency ModStat Integer Number Note Calculated Tipo Sql Server Text Tipo Subyacente Counter Tipos SharePoint bigint binary boolean x bit x x x char datetime x datetime decimal double x float x image int32 int x x x x x money nchar string x ntext x x numeric string nvarchar x x x real smalldatetime smallint smallmoney object sql_variant x sysname text timestamp tinyint uniqueidentifier x x varbinary string varchar x 3. CONSIDERACIONES SOBRE LA IMPORTACIÓN Al hacer la importación, se suele utilizar como campo de enlace el que registra el Código ERP, ya que es único y no puede repetirse. Además esto permite que, después de la importación, se puedan actualizar los registros. 3.1. Datos Importación de Ficha Cuenta (AP__CuentasFichas) La importación más frecuente es la que se realiza a la lista de AuraPortal AP__CuentasFichas. Esta lista es la que guarda la información de las Cuentas, o entidades que se relacionan con la empresa: Clientes, Proveedores, etc… INTEGRACIÓN. IMPORTADOR Página 19 de 52 A continuación mostramos los datos de la Tabla de SharePoint AP__ CuentasFichas y después ciertos detalles que deben tenerse en cuenta a la hora de concretar la consulta SQL del fichero XML de configuración para esta tabla. Esta tabla muestra el Nombre de campo, Tipo de dato, Nombre en FAP (Funciones de AuraPortal) y Explicación de todos los campos (columnas de SharePoint) de la Ficha de la Familia de Cuentas de AuraPortal que se pueden importar. Nombre de Campo Tipo Nombre en FAP de AuraPortal y explicación Nombre 1 línea texto Razón Social – El campo Nombre en la Ficha es la Razón Social de la Cuenta. Internamente es el campo Title renombrado como Nombre. Fax 1 línea texto Fax – Fax de la Cuenta. Direccion 1 línea texto Dirección – Dirección del domicilio de la Cuenta. Ciudad 1 línea texto Localidad – Localidad del domicilio de la Cuenta. Pais 1 línea texto País – País del domicilio de la Cuenta. CodigoPostal 1 línea texto C.P. - Código Postal del domicilio de la Cuenta. Provincia 1 línea texto Provincia – Provincia del domicilio de la Cuenta. Telefono1 1 línea texto Tlf.1 - Teléfono principal de la Cuenta. Telefono2 1 línea texto Tlf.2 - Segundo teléfono de la Cuenta. EMail 1 línea texto E-mail - Dirección de correo electrónico de la Cuenta. SitioWeb 1 línea texto Sitio Web - Pagina Web de la Cuenta. FormaPago 1 línea texto F. Pago - Forma de pago establecida con la Cuenta. FacturacionAnual Moneda Fac. anual - Facturación anual de la Cuenta. CuentaBancaria 1 línea texto Cta. Banco - Datos bancarios de la Cuenta. CodigoCuenta 1 línea texto Código ERP - Código de la Cuenta en el ERP. Muy útil para relaciones con programas externos. Comentarios Varias líneas COMENTARIOS - Comentarios sobre la Cuenta. INTEGRACIÓN. IMPORTADOR Página 20 de 52 texto Clasificacion 1 línea texto Tamaño - Número de empleados que tiene la Cuenta. Los posibles valores son: _No Definido 1-9 10-24 25-49 50-99 100-249 250-499 500-1000 Más de 1000 IdInteres Número Interés - Interés que hay sobre esta Cuenta. Los posibles valores son: 0 1 2 3 4 5 Confidencial Sí o No (_) (Sólido) (Bueno) (Satisfactorio) (Débil) (Inaceptable) Confidencial - Indica si la Ficha de la Cuenta es Confidencial. Es del tipo Boolean, es decir, sus posibles valores son: 1 (True): La Ficha de la Cuenta es Confidencial. 0 (False): La Ficha de la Cuenta No es Confidencial. ClaseCuenta IdClienteDeAsc 1 línea texto Clase - Clase a la que pertenece esta Cuenta. Número (No visible en la Ficha) - ID de la Cuenta indicada en el campo Indirecta, a través de la Ficha de la Cuenta. El dato introducido en este campo es el ID en la lista de SharePoint AP__CuentasClases, pero en el FAP se muestra directamente el Nombre de la Clase del campo NombreClaseCuenta. En el FAP se muestra el Nombre Comercial (Razón Social) de la Cuenta asociada a ese ID. NIF 1 línea texto CIF – Código o Número de Identificación Fiscal de la Cuenta. Estado Sí o No Inactiva - Indica si la Cuenta está Activa o Inactiva en AuraPortal. Es del tipo Boolean, es decir, sus posibles valores son: 1 (True): La Cuenta está Inactiva en AuraPortal. 0 (False): La Cuenta está Activa en AuraPortal. Presupuesto Moneda PREVISIONES COSTES/INGRESOS: Costes Global Actual en la Ficha de la Cuenta. GuidCargoResponsable 1 línea texto (No visible en la Ficha) – Es el GUID del Cargo del Empleado responsable de esta Cuenta. En el FAP se muestra directamente el Nombre del Empleado y su Cargo en el campo Responsable de esta Cuenta. INTEGRACIÓN. IMPORTADOR Página 21 de 52 IdSectorAsc Número (No visible en la Ficha) – ID del Sector Económico al que pertenece la Cuenta, en la lista de SharePoint AP_CuentasSectores. En el FAP se muestra directamente el Nombre en el campo: Sector. NombreComercial 1 línea texto PresupuestoCosteOriginal Moneda PREVISIONES COSTES/INGRESOS: Costes Global Original en la Ficha de la Cuenta. PresupuestoVentaOriginal Moneda PREVISIONES COSTES/INGRESOS: Ingresos Global Original en la Ficha de la Cuenta. PresupuestoVentaActual Moneda PREVISIONES COSTES/INGRESOS: Ingresos Global Actual en la Ficha de la Cuenta. NombreClaseCuenta 1 línea texto Clase – Nombre de la Clase de Cuenta a la que pertenece esta Cuenta. ProteccionDatos Número Protección Datos – Según la LOPD (Ley Orgánica de Protección de Datos), indica si la Cuenta permite o no que se utilicen sus datos, por ejemplo para recibir información comercial no solicitada. Nombre Comercial - Nombre comercial de la Cuenta. Los posibles valores son tres: 0 : _No Definido, valor por defecto. 1 : Indica que Sí, la Cuenta quiere proteger sus datos. 2 : Indica que No, la Cuenta no quiere proteger sus datos. CodigoCuenta El campo CodigoCuenta es muy importante al realizar la importación ya que registra el Código ERP en la lista AP__CuentasFichas y por tanto es el que realiza el enlace con el ERP. ClaseCuenta y NombreClaseCuenta: El campo ClaseCuenta debe recoger el ID de la clase de cuenta deseada para hacer la importación y el campo NombreClaseCuenta su nombre relacionado. Para identificar estos datos puede hacerse de dos maneras: Dentro de AuraPortal ir a Estructura – FAMILIAS – Cuentas y estando en la pestaña Crear/Editar pulsar el botón Proceder y se mostrará la lista de las Clases de Cuentas con su Nombre y su ID. Acceder a la página admin.aspx de la instalación de AuraPortal y, en la barra de vínculos, pulsar sobre ‘Documentos y Listas’. Seleccionar la lista ‘AP__CuentasClases’. La columna ‘ID’ de la lista AP__CuentasClases se corresponde con el campo ‘ClaseCuenta’ de la consulta SQL. La columna ‘NombreClase’ de la lista AP__CuentasClases se corresponde con el campo ‘NombreClaseCuenta’ de la consulta SQL. INTEGRACIÓN. IMPORTADOR Página 22 de 52 IdSectorAsc: El campo IdSectorAsc se puede tratar de dos formas: 1. No colocar ningún sector. Grabar el valor 0. Ejemplo: Convert(float, '0') AS IdSectorAsc, 2. Escoger un Sector definido en AuraPortal: Para identificar el dato adecuado, acceder a la página admin.aspx de la instalación de AuraPortal y, en la barra de vínculos, pulsar sobre ‘Documentos y Listas’. Seleccionar la lista ‘AP__CuentasSectores’. Buscar en la columna ‘NombreSector’ el sector que nos interese y, en el mismo registro, seleccionar el ID. La columna ‘ID’ de la lista AP__CuentasSectores se corresponde con el campo ‘IdSectorAsc’ de la consulta SQL GuidCargoResponsable: El campo GuidCargoResponsable se puede tratar de 3 formas: 1. Colocar “_No Definido”. 2. En el caso de que el ERP tengan asociado un vendedor a la cuenta de cliente puede ponerse el responsable de la cuenta dependiendo del vendedor asignado a la Cuenta del ERP. (En la tabla PVEND de DIMONI, identificar el código del vendedor del campo <Codigo>.) 3. Colocar un empleado de AuraPortal fijo a todas las cuentas que se importen. Obtener el valor del campo <IdentificadorUbicacion> del cargo correspondiente según se explicó en el punto anterior. Se pueden ver los GUIDs de los Cargos de un Empleado de las siguientes maneras: A través de su ID (de AP_EmpleadosFichas), con el método GetCargosEmpleado del Servicio Web AuraPortalTareas. Accediendo a la página admin.aspx de la instalación de AuraPortal y seleccionar la lista AP__EmpleadosFichas; obtener el Cargo. Después acceder a la lista “AP__EmpleadosArbolNivel2Guid”, obtener el valor del campo <IdentificadorUbicacion> y registrarlo en el campo ‘GuidCargoResponsable’. Nota. En AuraPortal, todas las cuentas se guardan en una única lista (AP__CuentasFichas). Si, en los datos Origen, hay tablas diferentes para, p.e., Clientes y Proveedores, los Códigos ERP se duplicarían al hacer la importación. Para evitarlo, conviene añadir, en el proceso de búsqueda y grabación, en el campo <Codigo ERP> de la lista “AP__CuentasFichas”, p.e. “P” cuando se trate de Proveedores y “C” cuando se trate de Clientes. De este modo no se duplicarán Códigos ERP. INTEGRACIÓN. IMPORTADOR Página 23 de 52 3.2. Datos Importación de Ficha Ítem (AP__ItemsFichas) A continuación mostramos los datos de la Tabla de SharePoint AP__ItemsFichas y después ciertos detalles que deben tenerse en cuenta a la hora de concretar la consulta SQL del fichero XML de configuración para la importación de esta tabla. En la tabla se muestra el Nombre de campo, Tipo de dato, Nombre en FAP (Funciones de AuraPortal) y Explicación de todos los campos (columnas de SharePoint) de la Ficha de la Familia Ítems de AuraPortal. Nombre de Campo Tipo Nombre en FAP de AuraPortal y explicación Nombre 1 línea texto Nombre – es el Nombre del Ítem. Descripcion Confidencial Internamente es el campo Title renombrado como Nombre. Varias líneas texto DESCRIPCIÓN - Descripción del Ítem. Sí o No Confidencial - Indica si la Ficha del Ítem es Confidencial. Es del tipo Boolean, es decir, sus posibles valores son True o False: 1 (True): La Ficha del Ítem es Confidencial. 0 (False): La Ficha del Ítem No es Confidencial. Comentarios ConceptoCoste Varias líneas texto Sí o No COMENTARIOS - Comentarios sobre el Ítem. Concepto de Coste – Indica si el Ítem se podrá utilizar como Coste. Es del tipo Boolean, es decir, sus posibles valores son True o False: ValorCoste Moneda GuidCargoResponsable 1 línea texto 1 (True : La Ficha del Ítem es Concepto de Coste. 0 (False): La Ficha del Ítem No es Concepto de Coste. Valor del Concepto de Coste – Número que indica el valor de este Ítem cuando sea utilizado como Coste. (No visible en la Ficha) – Es el GUID del Cargo del Empleado responsable de este Ítem. En el FAP se muestra directamente el Nombre del Empleado y su Cargo en el campo Responsable de este Ítem. Se pueden ver los GUID’s de los Cargos de un Empleado a través de su ID (de AP_EmpleadosFichas), con el método GetCargosEmpleado del Servicio Web AuraPortalTareas. FechaInicio Fecha y hora Fecha Inicio - Fecha de inicio del Ítem. FechaFin Fecha y hora Fecha Fin - Fecha fin del Ítem. ClaseItem Número Clase - Clase a la que pertenece el Ítem. El dato introducido en este campo es el ID en la lista de SharePoint AP__ItemsClases, pero en el FAP se muestra directamente INTEGRACIÓN. IMPORTADOR Página 24 de 52 el Nombre de la Clase. ConceptoVenta Sí o No Concepto de Ingreso – Indica si el Ítem se podrá utilizar como Ingreso. Es del tipo Boolean, es decir, sus posibles valores son True o False: 1 (True): La Ficha del Ítem es Concepto de Ingreso. 0 (False): La Ficha del Ítem No es Concepto de Ingreso. Valor del Concepto de Ingreso – Número que indica el valor de este Ítem cuando sea utilizado como Ingreso. ValorVenta Moneda ValorNominal Moneda Valor Nominal – Número que indica el valor nominal que se le da a este Ítem, independiente de su valor como Concepto de Coste o Ingreso. Naturaleza Número NATURALEZA – Indica la Naturaleza del Ítem según los tres posibles valores numéricos siguientes: CodigoERP 1 línea texto 0 : Indica si es Material Común 1 : Indica si es Material Único 2 : Indica si es Inmaterial Código ERP - Código de este Ítem en el ERP. Muy útil para relaciones con programas externos. GuidCargoResponsable: (Ver punto GuidCargoResponsable de apartado DATOS IMPORTACIÓN DE FICHA CUENTA (AP__CuentasFichas)) ClaseItem: El campo ClaseItem debe recoger el ID de la clase de ítem deseada para hacer la importación. Para identificar estos datos puede hacerse de dos maneras: Dentro de AuraPortal ir a Estructura – FAMILIAS – Ítems y estando en la pestaña Crear/Editar pulsar el botón Proceder y se mostrará la lista de las Clases de Ítems con su Nombre y su ID. Acceder a la página admin.aspx de la instalación de AuraPortal y, en la barra de vínculos, pulsar sobre ‘Documentos y Listas’. Seleccionar la lista ‘AP__ItemsClases’. La columna ‘ID’ de la lista AP__ItemsClases se corresponde con el campo ‘ClaseItem’ de la consulta SQL. 3.3. Datos Importación de Ficha Proyecto (AP_ProyectosFichas) A continuación mostramos los datos de la Tabla de SharePoint AP__ProyectosFichas y después ciertos detalles que deben tenerse en cuenta a la hora de concretar la consulta SQL del fichero XML de configuración para la importación de esta tabla. En la tabla se muestra el Nombre de campo, Tipo de dato, Nombre en FAP (Funciones de AuraPortal) y Explicación de todos los campos (columnas de SharePoint) de la Ficha de la Familia Proyectos de AuraPortal. Nombre de Campo Tipo Nombre en FAP de AuraPortal y explicación Nombre 1 línea texto Nombre – En la Ficha es el Nombre del Proyecto. INTEGRACIÓN. IMPORTADOR Internamente es el campo Title renombrado como Nombre en la lista de SharePoint AP__ProyectosFichas. Página 25 de 52 Comentarios Descripcion Confidencial Varias líneas texto COMENTARIOS - Comentarios sobre el Proyecto. Varias líneas texto DESCRIPCIÓN - Descripción del Proyecto. Sí o No Confidencial - Indica si la Ficha del Proyecto es Confidencial. Es del tipo Boolean, es decir, sus posibles valores son True o False: 1 (True): La Ficha del Proyecto es Confidencial. 0 (False): La Ficha del Proyecto No es Confidencial. Presupuesto Moneda PREVISIONES COSTES/INGRESOS: Costes Global Actual en la Ficha del Proyecto. GuidCargoResponsable 1 línea texto (No visible en la Ficha) – Es el GUID del Cargo del Empleado responsable de esta Cuenta. En el FAP se muestra directamente el Nombre del Empleado y su Cargo en el campo Responsable de esta Cuenta. Se pueden ver los GUIDs de los Cargos de un Empleado a través de su ID (de AP_EmpleadosFichas), con el método GetCargosEmpleado del Servicio Web AuraPortalTareas. FechaInicio Fecha y hora Fecha Inicio - Fecha inicio del Proyecto. FechaFin Fecha y hora Fecha Fin - Fecha fin del Proyecto. ClaseProyecto Número Clase - Clase a la que pertenece el Proyecto. El dato introducido en este campo es el ID en la lista de SharePoint AP__ProyectosClases, pero en el FAP se muestra directamente el Nombre de la Clase. IdCuenta Número (No visible en la Ficha) – Es el ID de la Cuenta asociada con este Proyecto. En el FAP se muestra directamente el Nombre Comercial y la Razón Social de la Cuenta. NombreCuenta 1 línea texto Cuenta - Nombre Comercial y Razón Social de la Cuenta asociada a este Proyecto. PresupuestoCosteOriginal Moneda PREVISIONES COSTES/INGRESOS: Costes Global Original en la Ficha del Proyecto. PresupuestoVentaOriginal Moneda PREVISIONES COSTES/INGRESOS: Ingresos Global Original en la Ficha del Proyecto. PresupuestoVentaActual Moneda PREVISIONES COSTES/INGRESOS: Ingresos Global Actual en la Ficha del Proyecto. CodigoERP 1 línea ENLACES: Doc.Asociados - Numero de documentos asociados INTEGRACIÓN. IMPORTADOR Página 26 de 52 texto en la Ficha del Proyecto. GuidCargoResponsable: (Ver punto GuidCargoResponsable del apartado DATOS IMPORTACIÓN DE FICHA CUENTA (AP__CuentasFichas)) ClaseProyecto: El campo ClaseProyecto debe recoger el ID de la clase de proyecto deseada para hacer la importación. Para identificar este dato puede hacerse de dos maneras: Dentro de AuraPortal ir a Estructura – FAMILIAS – Proyectos y estando en la pestaña Crear/Editar pulsar el botón Proceder y se mostrará la lista de las Clases de Proyectos con su Nombre y su ID. Acceder a la página admin.aspx de la instalación de AuraPortal y, en la barra de vínculos, pulsar sobre ‘Documentos y Listas’. Seleccionar la lista ‘AP__ ProyectosClases’. La columna ‘ID’ de la lista AP__ProyectosClases se corresponde con el campo ‘ClaseProyecto’ de la consulta SQL. 3.4. Datos Importación de Ficha Área (AP__AmbitosFichas) Nota. En las primeras versiones de AuraPortal se hablaba de Ámbitos, pero el nombre actual de esta Familia en AuraPortal es Áreas. No obstante se conservó el nombre interno por compatibilidad. A continuación mostramos los datos de la Tabla de SharePoint AP__AmbitosFichas y después ciertos detalles que deben tenerse en cuenta a la hora de concretar la consulta SQL del fichero XML de configuración para la importación de esta tabla. En la tabla se muestra el Nombre de campo, Tipo de dato, Nombre en FAP (Funciones de AuraPortal) y Explicación de todos los campos (columnas de SharePoint) de la Ficha de la Familia Áreas de AuraPortal. Nombre de Campo Tipo Nombre en FAP de AuraPortal y explicación Nombre 1 línea texto Nombre – En la Ficha es el Nombre del Área. Descripcion Confidencial Internamente es el campo Title renombrado como Nombre. Varias líneas texto DESCRIPCIÓN - Descripción del Área. Sí o No Confidencial - Indica si la Ficha del Área es Confidencial. Es del tipo Boolean, es decir, sus posibles valores son True o False: 1 (True): La Ficha del Área es Confidencial. 0 (False): La Ficha del Área No es Confidencial. Comentarios Presupuesto INTEGRACIÓN. IMPORTADOR Varias líneas texto Moneda COMENTARIOS - Comentarios sobre el Área. PREVISIONES COSTES/INGRESOS: Costes Global Actual en la Ficha del Área. Página 27 de 52 GuidCargoResponsable 1 línea texto (No visible en la Ficha) – Es el GUID del Cargo del Empleado responsable de esta Cuenta. En el FAP se muestra directamente el Nombre del Empleado y su Cargo en el campo Responsable de esta Cuenta. Se pueden ver los GUIDs de los Cargos de un Empleado a través de su ID (de AP_EmpleadosFichas), con el método GetCargosEmpleado del Servicio Web AuraPortalTareas. FechaInicio Fecha y hora Fecha Inicio - Fecha inicio del Área. FechaFin Fecha y hora Fecha Fin - Fecha fin del Área. ClaseAmbito Número Clase - Clase a la que pertenece el Área. El dato introducido en este campo es el ID en la lista de SharePoint AP__AmbitosClases, pero en el FAP se muestra directamente el Nombre de la Clase. PresupuestoCosteOriginal Moneda PREVISIONES COSTES/INGRESOS: Costes Global Original en la Ficha del Área. PresupuestoVentaOriginal Moneda PREVISIONES COSTES/INGRESOS: Ingresos Global Original en la Ficha del Área. PresupuestoVentaActual Moneda PREVISIONES COSTES/INGRESOS: Ingresos Global Actual en la Ficha del Área. CodigoERP 1 línea texto Código ERP - Código del Proyecto en el ERP. Muy útil para relaciones con programas externos. GuidCargoResponsable: (Ver punto GuidCargoResponsable en el apartado DATOS IMPORTACIÓN DE FICHA CUENTA (AP__CuentasFichas)) ClaseAmbito: El campo ClaseAmbito debe recoger el ID de la clase de área deseada para hacer la importación. Para identificar estos datos puede hacerse de dos maneras: Dentro de AuraPortal ir a Estructura – FAMILIAS – Áreas y estando en la pestaña Crear/Editar pulsar el botón Proceder y se mostrará la lista de las Clases de Áreas con su Nombre y su ID. Acceder a la página admin.aspx de la instalación de AuraPortal y, en la barra de vínculos, pulsar sobre ‘Documentos y Listas’. Seleccionar la lista ‘AP__AmbitosClases’. La columna ‘ID’ de la lista AP__AmbitosClases se corresponde con el campo ‘ClaseAmbito’ de la consulta SQL. 3.5. Datos y Consideraciones de Importación Anexos Como ya se ha comentado en otras partes de este documento, se puede realizar una importación de datos a cualquiera de las listas de AuraPortal, incluidas las que se crearon como anexos a una familia. Los anexos, además de tener los campos diseñados por el usuario, también tienen una serie de campos internos que se rellenan automáticamente al dar de alta un registro en un anexo de forma manual desde INTEGRACIÓN. IMPORTADOR Página 28 de 52 AuraPortal. Cuando la introducción de datos en el anexo no se realiza de forma manual, si no que se realiza mediante importación, estos campos internos no se rellenarán de forma automática, por lo tanto al hacer la importación, se deberá preparar el fichero de configuración .XML para que también introduzca los datos en estos campos. Algunos de estos campos internos son campos ocultos otros no. Varios de estos campos deben importarse de forma relacional. A continuación mostramos los datos internos de la Tabla de un anexo y después ciertos detalles que deben tenerse en cuenta a la hora de concretar la consulta SQL del fichero XML de configuración para la importación de un anexo. En la tabla se muestra el Nombre de campo, Tipo de dato, Nombre en FAP (Funciones de AuraPortal) y Explicación de todos los campos (columnas de SharePoint) de un Anexo de AuraPortal. Nombre de Campo Tipo Nombre en FAP de AuraPortal y explicación Título 1 línea texto Título: Este campo puede contener cualquier descripción identificativa del anexo. IdTipoPortal Entero IdTipoPortal: Es un campo oculto que indica el tipo de portal. Sus posibles valores son: 0 para el Portal de Empleados 1 para el Portal de Externos El campo se rellena por defecto con Valor 0. IdPortal Entero IdPortal: Es un campo oculto que indica número de Id. de portal donde vamos a importar el Anexo. El id del portal de Empleados es siempre 0. El campo se rellena por defecto con Valor 0. IdElemento Entero IdElemento: Es un campo oculto que se corresponde con el campo Id. del elemento al cual se le está importado el Anexo. Es un campo que se obtiene de forma Relacional. (Ver apartado Ejemplo Relacional de Importación de Anexos). La relación variará dependiendo de la familia del anexo. Un ejemplo de relación para la familia de Ítems será el siguiente: <Campo nomColumna="IdElemento" claveExterna="True" listaAsociada="AP__ItemsFichas" nomColumnaExterna="CodigoERP" nomColumnaAsociada="Id." /> Clase 1 línea texto Clase: Este campo solo existe cuando el anexo es de las familias de Ítems, Cuentas, Proyectos o Áreas. Este campo se corresponde el Nombre de la Clase del elemento al que se le importa el Anexo. En el caso de la familia de Cuentas este campo se importa de forma Relacional. (Ver apartado Ejemplo Relacional de Importación de Anexos). La relación será la siguiente: <Campo nomColumna="Clase" claveExterna="True" listaAsociada="AP__CuentasFichas" nomColumnaExterna="CodigoCuenta" nomColumnaAsocia- INTEGRACIÓN. IMPORTADOR Página 29 de 52 da="NombreClaseCuenta" /> Cargo Empleado 1 línea texto Cargo: Solo existe cuando el anexo es de la familia de Empleados. 1 línea texto Empleado: Solo existe cuando el anexo es de la familia de Empleados. Este campo se corresponde con el Cargo del empleado al que se le va a importar el anexo. En él se guarda el Nombre de la Ficha de Empleado al que está enlazado el anexo. Este campo se importa de forma Relacional (Ver apartado Ejemplo Relacional de Importación de Anexos). <Campo nomColumna="Empleado" claveExterna="True" listaAsociada="AP__EmpleadosFichas" nomColumnaExterna="CodigoERP" nomColumnaAsociada="Nombre" /> Cuenta 1 línea texto Cuenta: Solo existe cuando el anexo es de la familia de Cuentas. Este campo se corresponde con el Nombre de la Ficha de la Cuenta a la que está enlazado el anexo. Este campo se importa de forma Relacional (Ver apartado Ejemplo Relacional de Importación de Anexos). La relación será la siguiente: <Campo nomColumna="Cuenta" claveExterna="True" listaAsociada="AP__CuentasFichas" nomColumnaExterna="CodigoCuenta" nomColumnaAsociada="Nombre" /> Item 1 línea texto Item: Solo existe cuando el anexo es de la familia de Ítems. En él se guarda el Nombre de la Ficha de Ítem al que está enlazado el anexo. Este campo se importa de forma Relacional (Ver apartado Ejemplo Relacional de Importación de Anexos). La relación será la siguiente: <Campo nomColumna="Item" claveExterna="True" listaAsociada="AP__ItemsFichas" nomColumnaExterna="CodigoERP" nomColumnaAsociada="Nombre" /> Proyecto 1 línea texto Proyecto: Solo existe cuando el anexo es de la familia de Proyectos. En él se guarda el Nombre de la Ficha de Proyecto al que está enlazado el anexo. Este campo se importa de forma Relacional (Ver apartado Ejemplo Relacional de Importación de Anexos). La relación será la siguiente: <Campo nomColumna="Proyecto" claveExterna="True" listaAsociada="AP__ProyectosFichas" nomColumnaExterna="CodigoERP" nomColumnaAsociada="Nombre" /> Ambito INTEGRACIÓN. IMPORTADOR 1 línea texto Ambito: Solo existe cuando el anexo es de la familia de Áreas. En él se guarda Nombre de la Ficha de Área a la que está enlaza- Página 30 de 52 do el anexo. Este campo se importa de forma Relacional (Ver apartado Ejemplo Relacional de Importación de Anexos). La relación será la siguiente: <Campo nomColumna="Ambito" claveExterna="True" listaAsociada="AP__AmbitosFichas" nomColumnaExterna="CodigoERP" nomColumnaAsociada="Nombre" /> IdTipoPortal Como este campo se rellena por defecto con el Valor ‘0’, en el caso de que se trate de una importación de un Anexos del portal de Empleados, puede no importarse este campo porque automáticamente tomará valor ‘0’. IdPortal Como este campo se rellena por defecto con el Valor ‘0’, en el caso de que se trate de una importación de un Anexo del portal de Empleados puede no importarse este campo porque automáticamente tomará valor ‘0’. IdElemento Este campo oculto debe tenerse muy cuenta al hacer la importación porque es el que realiza el enlace entre el elemento y el registro del anexo. Clase y Cargo El campo Clase en las familias de Ítems, Proyectos y Áreas y el campo Cargo en la familia de Empleados no es posible obtenerlo de forma relacional de la ficha del elemento al que corresponde el anexo. En este caso se podrán tomar dos alternativas. Si los registros del anexo a importar pertenecen a elementos de una misma Clase podemos importar este campo con un nombre de Clase fijo, siempre que ese nombre de Clase esté previamente dado de alta en AuraPortal. En el caso de que los registros a importar pertenezcan a elementos de distintas Clases se puede no importar este campo. Si el campo queda vacío la única consecuencia que ello conlleva es que, al visualizar los registros del anexo este dato no tendrá información. Nota. Es muy importante para poder importar Anexos que estos estén creados en el mismo sitio donde están creadas las lista de AuraPortal (/), de lo contrario no se podrán importar campos de forma relacional. Hay que tener en cuenta que por defecto los Anexos se crean en el sitio “ Gestión de Bibliotecas y Listas” (/doc). 3.6. Datos Importación de Roles de Cuentas Nota. Los datos de los Roles de Cuentas no se guardan en listas de SharePoint, sino directamente en tablas de SQL. Por este motivo, con la versión actual del Importador no se pueden Importar Roles de las Cuentas, está en preparación una versión para ello. INTEGRACIÓN. IMPORTADOR Página 31 de 52 Se pueden importar y manejar Roles a través de los siguientes métodos del Servicio Web AuraPortal Familias: CreatePersonalRole DeletePersonalRole GetPersonalRole UpdatePersonalRole 4. SERVICIO AURAPORTAL IMPORTADOR Es un Servicio Windows para realizar importaciones a AuraPortal de forma automática (Programada o Instantánea). 4.1. Instalar el Servicio ‘AuraPortal Importador’ El Servicio Windows AuraPortal Importador se instala a partir del programa ejecutable ‘AuraPortalServicioImportador.exe’. Para ello se utiliza el programa Windows ‘installutil.exe’, situado en C:\Windows\Microsoft.NET\Framework64\v2.0.50727 Para ejecutar ‘installutil.exe’ y que se instale servicio importador se puede usar el fichero .bat: Instalar_AuraPortalServicioImportador.bat (que ejecuta INSTALLUTIL.EXE), situado, si se aceptó la instalación por defecto en: C:\Inetpub\sitioauraportal\Home\Import También se puede instalar abriendo una ventana del sistema (desde Inicio-Ejecutar, escribir cmd y pulsar Intro. Situarse en el directorio C:\Windows\Microsoft.NET\Framework64\v2.0.50727 y ejecutar la siguiente línea de comando: installutil.exe C:\Inetpub\SitioAuraPortal\Home\Importauraportalservicioimportador.exe 4.1.1. Configuración para WSS 3.0 y SPF2010 Para poder iniciar el servicio AuraPortal Importador con WSS 3.0 o SPF2010, la cuenta asignada como Identidad en el servicio deberá cumplir los requisitos siguientes: Tener permisos totales para acceder a SharePoint. Pertenecer al grupo administradores del servidor donde esté instalado AuraPortal. OTORGAR AL LOGIN DE WINDOWS QUE VAYAMOS A ASIGNAR EN AURAPORTAL IMPORTADOR PERMISOS EN WSS 3.0 O SPF2010 LOS MÁXIMOS Para otorgar los máximos permisos, ir a la Administración Central de SharePoint: Ir a la pestaña [Administración de aplicaciones], y en la sección <Seguridad de aplicaciones>, elegir “Directiva de aplicación”. Desde ahí, seleccionar en [Aplicación Web]: las diferentes Aplicaciones Web de AuraPortal y agregar en cada una de ellas el usuario que corresponda (Vamos a suponer que deseamos añadir el login de Windows apmotorbpms). INTEGRACIÓN. IMPORTADOR Página 32 de 52 En “Directiva de aplicación”, pulsar botón [Agregar usuarios]: Añadir el usuario “ap-motorbpms” (del dominio o Grupo Trabajo). A este usuario aplicar el permiso de “Control Total”. Tener en cuenta, no marcar la casilla [ ] La cuenta funciona como sistema. Con esto conseguiremos que este usuario pueda acceder a través de la página “admin.aspx” al Sitio Web de AuraPortal. CAMBIAR LA IDENTIDAD EN EL SERVICIO AURAPORTAL IMPORTADOR Para que el Servicio de Programación Automática del Importador de AuraPortal pueda iniciarse, proceder del modo siguiente: Acceder al servicio “AuraPortal Importador”, a sus [Propiedades], y luego a la pestaña [Iniciar sesión]. Desde aquí, utilizar un usuario de Windows (por ejemplo ‘ap-motorbpms’) que tenga permisos totales para acceder a WSS 3.0. y además, tiene que pertenecer al grupo <Administradores> del servidor donde esté instalado AuraPortal. Además, si deseamos realizar una Importación Manual, el usuario que inició sesión de Windows en el ordenador desde el que se va a realizar la Importación, deberá estar integrado en alguna de las siguientes opciones: La Directiva de Aplicación Web con Control Total. Esta Directiva está ubicada en la Administración Central de SharePoint. El grupo <Administradores> del servidor donde esté instalado AuraPortal. 4.1.2. Comprobar la instalación del Servicio Para comprobar que realmente se ha instalado el servicio, dirigirse a <Administración de Equipos - Servicios y Aplicaciones - Servicios> y comprobar que está el servicio llamado AuraPortal Importador, según se muestra en la imagen siguiente: INTEGRACIÓN. IMPORTADOR Página 33 de 52 Si se ve la línea AuraPortal Importador es que está instalado, pero eso no implica que esté iniciado. Para que esté iniciado, y por tanto activo y funcionante, debe estar en estado ‘Iniciado’, tal como aparece en la siguiente imagen. Se puede Iniciar el servicio pulsando botón derecho sobre él y seleccionando la opción Iniciar. Para que el servicio se inicie automáticamente cada vez que se inicie el ordenador, marcar la opción correspondiente en la ventana de Propiedades del servicio (a la cual se accede pulsando el botón derecho del ratón). Para comprobar que el servicio se ha iniciado correctamente, dirigirse al ‘Visor de sucesos’ de Windows y, en la sección ‘Aplicación’, comprobar las tres líneas siguientes, tal como muestra la imagen. INTEGRACIÓN. IMPORTADOR Página 34 de 52 Si el servicio ha sido cargado correctamente, los 3 últimos mensajes de origen “AuraPortal Importador” serán: - Informador iniciado. Podrá ver los mensajes generados por el Importador correctamente. - Servicio Importador funcionando correctamente. El fichero de configuración activo es: C:\Archivos de programa\Archivos comunes\AuraPortal\Import\import.xml. - El servicio se inició correctamente. 4.2. Desinstalar el Servicio ‘AuraPortal Importador’ Para desinstalar el Servicio ‘AuraPortal Importador’ se puede hacer de dos maneras: Se puede utilizar el fichero .bat: Desinstalar_AuraPortalServicioImportador.bat situado, si se aceptó la instalación por defecto en: C:\Inetpub\sitioauraportal\Home\Import Abrir una ventana del sistema (desde Inicio-Ejecutar, escribir cmd y pulsar Intro). Situarse en el directorio C:\Windows\Microsoft.NET\Framework64\v2.0.50727 y ejecutar la siguiente línea de comando: installutill.exe –u C:\Inetpub\SitioAuraPortal\Home\Importauraportalservicioinmportador.exe 5. TIPOS DE IMPORTACIÓN Como se ha comentado al principio de este documento, el sistema AuraPortal Importador permite tres tipos de importación: una es manual y las otras dos automáticas. 1- Importación Manual: Se utiliza este tipo de importación para realizar importaciones puntuales. Por ejemplo, se hará una importación manual al principio de una implementación para pasar todos los datos por primera vez. 2- Importación Programada: Se realiza automáticamente, previa configuración en un fichero .XML (de nombre import.xml) de los días y horas en las que se realizará la misma. Solo se permite una programación al día. Por ejemplo, se utilizará una importación programada para actualizar datos que no sean críticos. 3- Importación Instantánea: Se realiza automáticamente, previa configuración en un fichero .XML (de nombre import.xml) del intervalo entre dos importaciones. El tiempo mínimo es ‘un segundo’. Por ejemplo, se utilizará una importación instantánea si se desea hacer importaciones de cambios o en instalaciones en las que es muy importante que los datos estén actualizados. INTEGRACIÓN. IMPORTADOR Página 35 de 52 5.1 Importación Manual Se utiliza este tipo de importación para realizar importaciones puntuales o para hacer pruebas. 5.1.1. Estructura La importación manual utiliza: Programa ejecutable AuraPortalImportador.exe, situado, si se aceptó la instalación por defecto en: C:\Inetpub\sitioauraportal\Home\Import Un fichero FICHERO.XML de configuración con cualquier nombre y trayectoria. De este fichero, la importación manual utiliza la sección <Importador>. 5.1.2. Operativa y Puesta en Marcha 1. Configurar la sección <Importador> del fichero ‘fichero.xml’ de configuración correspondiente. No se necesita configurar el resto de las secciones. 2. Ejecutar el programa AuraPortalImportador.exe,situado, si se aceptó la instalación por defecto en: C:\inetpub\sitioauraportal\Home\Import Al ejecutarse el programa aparece la siguiente pantalla. Rellenar los datos según las explicaciones siguientes: Escribir la ruta donde se encuentra el fichero.xml de configuración con la sección <Importador> correctamente configurada. Pulsar el botón Sintaxis si se desea comprobar que la sintaxis del archivo .XML es correcta. El resultado de la comprobación se mostrará en la ventana “Resultados”. Pulsar el botón Compatibilidad si se desea comprobar la compatibilidad entre los datos origen y destino, el resultado se mostrará en la ventana “Resultados”. Si se desea que cuando se realice la importación se registren los sucesos en el Registro de sucesos de Windows deberá marcase la casilla Escribir salida en el Registro de Sucesos de Windows. Si se desea que cuando se realice la importación se muestren los resultados de la importación con mensaje Debug se deberá marcar la casilla Mostrar mensajes de Debug. INTEGRACIÓN. IMPORTADOR Página 36 de 52 Al pulsar el botón Importar se inicia la importación, en la ventana “Resultados” se mostrará el resultado de la importación. Si se ha marcado la casilla “Mostrar mensajes Debug” la información será más completa, si no se marcó la casilla, la información será resumida. 5.2. IMPORTACIÓN PROGRAMADA Se utiliza este tipo de importación para realizar importaciones programadas según días-horas. 5.2.1. Estructura La importación programada, al igual que la instantánea, utiliza: Programa ejecutable AuraPortalServicioImportador.EXE, situado, si se aceptó la instalación por defecto en: C:\Inetpub\sitioauraportal\Home\Import Programa ejecutable ‘Installutil.exe’, programa de Microsoft que instala y desinstala programas como servicios Windows, y en concreto, instala el programa ‘AuraPortalServicioImportador.exe’ como el Servicio Windows “AuraPortal Importador”. Está situado en: C:\Windows\microsoft.net\Framework\v1.1.4322 Dos ficheros .bat que ejecutan INSTALLUTIL.EXE para instalar y desinstalar AURAPORTALSERVICIOIMPORTADOR.EXE como Servicio Windows: Instalar_AuraPortalServicioImportador.bat y Desinstalar_AuraPortalServicioImportador.bat situados, si se aceptó la instalación por defecto en: C:\Inetpub\sitioauraportal\Home\Import Un fichero de configuración con el nombre ‘import.xml’, situado en la trayectoria: C:\Archivos de programa\Archivos comunes\AuraPortal\Import De este fichero, la importación programada utiliza las siguientes secciones: <Programacion> <Informador> <Importador> 5.2.2. Operativa y Puesta en Marcha 1. Instalar AuraPortalServicioImportador.exe como Servicio de Windows (utilizando el fichero Instalar_AuraPortalServicioImportador.bat’, según se ha explicado en el punto anterior). 2. Configurar las secciones <Programacion>, <Informador> e <Importador> del archivo import.xml. 3. Iniciar el Servicio “AuraPortal Importador” en este momento se leen las secciones <Programacion> e <Informador> del fichero import.xml. Nota. Cada vez que se cambie algo en alguna de las secciones siguientes del fichero import.xml: <Programacion> <ImportacionInstantanea> <Informador> INTEGRACIÓN. IMPORTADOR Página 37 de 52 habrá que reiniciar el Servicio de Windows “AuraPortalImportador” para que lea la nueva información. Posteriormente, cuando llega el día-hora configurados en la sección <Programacion> del import.xml, el Servicio Windows ejecuta las instrucciones de la sección <Importador> del fichero import.xml. 5.3. Importación Instantánea Se utiliza este tipo de importación para realizar importaciones a intervalos de ‘X’ segundos. 5.3.1. Estructura La importación instantánea utiliza: Programa ejecutable ‘AuraPortalServicioImportador.exe’, situado, si se aceptó la instalación por defecto en: C:\Inetpub\sitioauraportal\Home\Import Programa ejecutable ‘Installutil.exe’, programa de Microsoft que instala y desinstala programas como Servicios Windows, y en concreto, instala el programa ‘AuraPortalServicioImportador.exe’ como el Servicio Windows “AuraPortal Importador”. Está situado en: C:\Windows\microsoft.net\Framework\v1.1.4322” Dos ficheros .bat que ejecutan InstallUtil.exe para instalar y desinstalar ‘AuraPortalServicioImportador.exe’ como Servicio Windows: Instalar_AuraPortalServicioImportador.bat y Desinstalar_AuraPortalServicioImportador.bat situados, si se aceptó la instalación por defecto en: C:\Inetpub\sitioauraportal\Home\Import Un fichero de configuración con el nombre ‘import.xml’, situado en la trayectoria: C:\Archivos de programa\Archivos comunes\AuraPortal\Import De este fichero, la importación instantánea utiliza las siguientes secciones: <ImportacionInstantanea> <Informador> Unos ficheros de configuración con cualquier nombre y extensión ‘.XML’ que deben situarse en la trayectoria definida en la sección <ImportacionInstantanea> del fichero import.xml. Estos ficheros deben contener la sección <Importador>, necesaria para realizar la importación. Nota. La importación Programada puede convivir con la Instantánea. Para desactivar la importación instantánea basta con quitar la sección <ImportacionInstantanea> del fichero import.xml. 5.3.2. Operativa y Puesta en Marcha 1. Instalar AuraPortalServicioImportador.exe como Servicio de Windows (utilizando el fichero Instalar_AuraPortalServicioImportador.bat’, según se ha explicado en el punto anterior). 2. Configurar las secciones <ImportacionInstantanea> e <Informador> del archivo import.xml. INTEGRACIÓN. IMPORTADOR Página 38 de 52 3. Tener los ficheros individuales “.XML” en la trayectoria especificada en la sección <ImportacionInstantanea> del fichero import.xml. 4. Al iniciarse el Servicio AURAPORTAL IMPORTADOR se leen las secciones <Programacion>, <ImportacionInstantanea> e <Informador> del fichero import.xml. Nota. Cada vez que se cambie algo en alguna de las secciones siguientes del fichero import.xml: <Programacion> <ImportacionInstantanea> <Informador> habrá que reiniciar el Servicio de Windows “AuraPortalImportador” para que lea la nueva información. Posteriormente, cuando llega el momento configurado en la sección <ImportacionInstantanea> del import.xml, el Servicio Windows ejecuta las instrucciones de la sección <Importador> de los ficheros .XML generados. 6. IMPORTACIÓN DESDE EXCEL Se pueden importar datos a partir de una hoja Excel utilizando dos métodos: Directamente desde la hoja Excel al importador de AuraPortal. Desde la hoja Excel, pasando por MS-SQL Server, y luego al importador de AuraPortal. Se puede importar directamente a partir de una hoja Excel siempre que no se produzcan incompatibilidades y no se pierdan datos al ejecutar la consulta SQL. Lo más habitual es pasar los datos de Excel a SQL a partir de un paquete SSIS. Es el método que se va a explicar a continuación. Nota. Utilizar la nomenclatura AP_SSIS- para los paquetes del importador de AuraPortal, así se evitan borrados accidentales. Comprobar que la hoja Excel no contenga caracteres especiales, por ejemplo, ASCII del 0 al 31. Comprobar que las columnas de la hoja Excel sean las que se quieren importar y que al final de las mismas no hay columnas en blanco. Comprobar que la tabla tiene una columna Código ERP o similar. Esto es importante para que, al hacer la importación se pueda hacer el enlace correctamente con la lista AP__CuentasFichas y, posteriormente, se puedan modificar los registros de cuentas existentes. INTEGRACIÓN. IMPORTADOR Página 39 de 52 Hoja Excel Grabar en formato “Texto Unicode” (*.txt) Origen: Clientes.xls Destino: Clientes.txt (Excel Unicode) MS-SQL Server (DTS) Crear y ejecutar un paquete SSIS de Importación (manual o programado), teniendo en cuenta: Origen: Clientes.txt (Excel Unicode) Destino: AP_ImportacionClientes (Tabla MS-SQL Server) Importador AuraPortal Ejecutar, manual o automáticamente, el proceso de Importación de AuraPortal, teniendo en cuenta: Origen: AP_ImportacionClientes (Tabla MS-SQL Server) Destino: AP_CuentasFichas (Lista de AuraPortal) DATOS PARA EL EJEMPLO Hoja Excel: clientes.xls Hoja Excel convertida a Texto Unicode: Clientes.txt Paquete SSIS en MS-SQL Server: AP_SSIS-MiEmpresa_ImportarClientes Tablas en MS-SQL Server para convertir datos desde Excel Unicode: AP_ImportacionClientes Lista AP donde importar los Clientes: AP__CuentasFichas Dónde guardar los ficheros Excel de Texto Unicode: C:\inetpub\sitioauraportal\aura.miempresa.com\Home\Import\DatosAImportar\Clientes.txt 6.1. Importación Excel - PASO 1. Preparar la hoja Excel 1. Editar la hoja Excel. Nota. Es conveniente que exista una fila con títulos para cada columna, pues luego se utilizarán para crear una tabla en MS-SQL Server. INTEGRACIÓN. IMPORTADOR Página 40 de 52 Evitar que los títulos de columna contengan caracteres especiales, acentos y espacios en blanco (ver imagen). 2. En la trayectoria elegida, por ejemplo: C:\inetpub\sitioauraportal\aura.miempresa.com\Home\Import\DatosAImportar guardar el fichero Clientes.txt en formato Texto Unicode. Para ello, al seleccionar el menú Archivo - Guardar como…, en el campo Guardar como tipo elegir Texto Unicode (*.txt). Si aparece una ventana de advertencia como la que se muestra en la imagen siguiente: INTEGRACIÓN. IMPORTADOR Página 41 de 52 pulsar en el botón [Sí]. 6.2. Importación Excel - PASO 2. Pasar Datos de Excel a SQL Los datos provenientes de la hoja Excel se van a pasar a SQL a través de un paquete SSIS. Para ello, seguir las instrucciones: Desde Inicio-Programas-Microsoft SQL, seleccionar el Administrador Corporativo de SQL; situarse en la base de datos de contenido de AuraPortal (p.e. aura.miempresa.com) y pulsar botón derecho del ratón. En el menú que aparece, seleccionar Tareas y luego Importar datos…. INTEGRACIÓN. IMPORTADOR Página 42 de 52 Aparece la ventana del Asistente. En la ventana Seleccionar un origen de datos introducir los datos según se explica en la siguiente imagen: En el campo Origen de datos, seleccionar Origen de archivo plano. En el campo Nombre de archivo, pulsar el botón Examinar… y seleccionar el archivo .txt creado en el paso anterior. En el campo Formato, seleccionar Delimitado. Marcar las casillas Unicode y Nombres de columna de la primera fila de datos. Pulsar Columnas, en el panel izquierdo de la ventana y seleccionar los Delimitadores de filas y columnas. INTEGRACIÓN. IMPORTADOR Página 43 de 52 Pulsar Siguiente. INTEGRACIÓN. IMPORTADOR Página 44 de 52 En la ventana Seleccionar un destino, introducir los datos según se explica en la imagen anterior y pulsar Siguiente. Si aparece la ventana anterior, pulsar el botón Aceptar. En la ventana Seleccionar tablas y vistas de origen, revisar los datos los datos según se explica en la siguiente imagen y pulsar Siguiente: Si el Origen y el Destino son correctos (en nuestro ejemplo, hemos cambiado el nombre a la tabla destino), pulsar Editar asignaciones… para revisar o cambiar las propiedades de los campos. INTEGRACIÓN. IMPORTADOR Página 45 de 52 Asegurarse de qué tipo son los datos de la tabla AP_ImportacionClientes para saber cómo han de importarse a la lista de AuraPortal AP__CuentasFichas. Como mínimo, habrá que cambiar las columnas Tipo, Tamaño y Precisión, haciendo la siguiente conversión: Tipo en SharePoint Tipo en SQL Text nvarchar Number float Moneda float En la columna Destino, se puede indicar el nombre que tendrá el campo al crearse la tabla AP_ImportacionClientes en MS-SQL Server. En la columna Tipo, colocar los tipos de campo que admite MS-SQL Server para que posteriormente en el importador de AuraPortal puedan ser transformados a los tipos equivalentes. En lo que respecta a la columna Tamaño, cuando sean campos de texto normales, se puede colocar por defecto una longitud de 50. Asegurarse de que esa longitud es suficiente para el contenido del campo. Si es un campo de “comentarios” habrá que darle mayor longitud. En la columna Precisión, introducir los decimales adecuados para cada campo numérico. Una vez modificados los valores de los campos, marcar la opción Quitar y volver a crear la tabla de destino. Pulsar el botón Aceptar, se volverá a la ventana: INTEGRACIÓN. IMPORTADOR Página 46 de 52 Pulsar el botón Vista Previa si se quieren previsualizar los datos de la nueva tabla. Pulsar Cerrar y luego Siguiente. Aparecerá una ventana como la siguiente. INTEGRACIÓN. IMPORTADOR Página 47 de 52 En la ventana Guardar y ejecutar el paquete, introducir los datos según se desee. Marcar el campo Ejecutar inmediatamente si se desea esta acción. Marcar el campo Guardar el paquete SSIS si se desea Guardar el paquete en SQL Server o localmente. En ese caso se puede elegir el Nivel de protección de paquetes deseado. Si se marca Guardar y se pulsa Siguiente se pueden cumplimentar los datos necesarios. Pulsar Siguiente. Aparece la última ventana del Asistente. INTEGRACIÓN. IMPORTADOR Página 48 de 52 Pulsar Finalizar. Aparece la siguiente ventana: INTEGRACIÓN. IMPORTADOR Página 49 de 52 En la que se podrá comprobar si lo configurado se ha ejecutado sin errores. Pulsar Cerrar. El paquete ha sido creado. Ahora se puede ejecutar manualmente para probar que funciona correctamente aunque, lo habitual será que se programe para que se ejecute periódicamente. 6.2.1. Ejecución Manual de un Paquete SSIS Desde la Utilidad de ejecución de paquetes, seleccionar el paquete recién importado y pulsar Aceptar. INTEGRACIÓN. IMPORTADOR Página 50 de 52 y luego Ejecutar. Aparecerá una ventana semejante a la de la siguiente imagen, con información sobre la ejecución del paquete. 6.3. Importación Excel - PASO 4. AuraPortal Importador Al ejecutar el paquete SSIS, se crea una tabla en la base de datos elegida, que es susceptible de ser tratada como otra tabla cualquiera. A partir de aquí se elige el método de importación adecuado en cada caso. Los posibles métodos de importación ya han sido explicados en otras partes de este documento. INTEGRACIÓN. IMPORTADOR Página 51 de 52 7. IMPORTACIÓN DE ELEMENTOS DE FAMILIA PROPIA Se puede utilizar el Servicio AuraPortal Importador para acceder a Bases de Datos externas (Oracle, Excel, Access, etc...) mediante una conexión ODBC e importar el contenido de Tablas o Vistas a elementos de una Familia Propia. La configuración se realiza desde Estructura – Familias Propias – Importar. Todos los detalles de este procedimiento se pueden encontrar en la Monografía de Familias Propias. INTEGRACIÓN. IMPORTADOR Página 52 de 52