lunes, 28 de octubre de 2013

Importar data a SalesLogix sin Scribe ni Inaport - Herramienta gratis

Siempre se dice que es necesario importar la data utilizando las claves que maneja SalesLogix, y ciértamente, aunque funciona insertar un valor numérico convertido a cadena, la verdad que se ve muy poco profesional trabajar de esta manera.

Se me ha dado un par de ocasiones, que en la implementación es necesario cargar maestros de datos con gran número de registros (10,000 ó +) que me han pasado en un Excel y por alguna razón, no he tenido disponibilidad de usar ni Scribe ni Inaport.

Para fines educativos, he creado una herramienta que permite generar un número determinado de registros, y luego por "query" de base de datos, he realizado los "updates".

Para descargar la herramienta lo puedes hacer de GitHub https://github.com/scorpile/Development donde también encontrarás el código fuente.  Eso si! Es una herramienta que hice muy rápido y no hice el "error handling" así que no critquen!

Primero necesitamos importar todos los registros que deseemos cargar del Excel a SQL u Oracle.  Yo lo he conseguido creando la tabla auxiliar (a la que llamaré TEST) y colocando los campos que corresponden a las columnas en el Excel.  Luego he creado una fórmula en Excel para crear una sentencia p.ej: "INSERT INTO TEST (ACCOUNT,CONTACT,EMAIL,MAINPHONE) VALUES ('VALOR','VALOR','VALOR','VALOR')" y he concatenado las columnas para que se registren los valores.  Propagando la fórmula hasta abajo, he logrado conseguir insertar todos mis valores.



Luego abrimos la herramienta:


Llenamos los datos del Servidor (ya se que dice Serevidor, fue un "typo" y ya les dije que fue algo rápido).  Este es el de SLX y no el de BD.  Igual el conector y el pass del usuario Admin.

Colocamos la tabla que en este caso utilizaré Account, utilizaré el campo USERFIELD1 para enlazar, y en este caso es necesario marcar el checkbox "Utilizar" del SECCODEID ya que la tabla Account tiene habilitada la seguridad.  Colocamos una cantidad N de registros a insertar.

Al final, presionamos el botón "Realizar la Inserción" y el programa se conectará a SalesLogix e insertará la cantidad especificada de registros en la tabla especificada, y en el campo de enlace, colocará valores como "SLXKey1, SLXKey2, SLXKey3 ... SLXKeyN".

Por último, realizamos el update con el siguiente "query":

UPDATE SYSDBA.ACCOUNT SET SYSDBA.ACCOUNT.ACCOUNT = AUX.ACCOUNT FROM
(
SELECT 'SlxKey' + CAST (ROW_NUMBER () OVER (ORDER BY CAMPO) + 3 AS varchar) AS ID,ACCOUNT FROM SYSDBA.TEST
) AS AUX WHERE SYSDBA.ACCOUNT.USERFIELD1 = AUX.ID


Mucho cuidado!  Como pueden apreciar, estamos actualizando el valor de Account.Account con el valor del campo Valor en la tabla auxiliar "Test".  Obvio los demás campos los ponemos en el mismo update.

Si no se tiene cuidado con lo que se está haciendo, en lugar de una ayuda lo que vamos es a destruir nuestra tabla.

Lo que deben tener cuidado es con valores en los campos que ya contengan la comilla simple " ' " en cuyo caso, desde el Excel las reemplazarían por doble comilla simple (2 veces ' ).

jueves, 11 de abril de 2013

Instalar Knowledge Sync 8 en Windows 2008 R2 (64 bits)

Rápido y directo.

Necesitarás tener instalado el runtime de Visual Basic 5 (Msvbvm50.exe) y el Jet 3.5 (el Jet35sp3.exe funciona perfecto) antes de empezar a instalar Knowledge Sync.
Luego procedemos con el IM64.exe y el KS_Setup_V81e.exe.
En este punto realizamos la migración de la base de datos si es necesaria.
Además es necesario el archivo VB5DB.dll el cual deben obtener de una versión anterior de Windows que tengan a la mano, o si se sienten aventureros, pueden bajar el dll de uno de los ya conocidos sitios de DLL's que hay en internet.
Este dll lo copian en C:\Windows\SysWOW64 y lo registran con el regsvr32.exe que está en esa misma carpeta.  Esto es muy importante!
Si no instalan el VB5DB.dll, no van a poder editar ni crear conexiones nuevas en Knowledge Sync.
Por último, no olviden que Knowledge Sync trabaja con ODBC, por lo que para administrarlos debemos ejecutar el odbcad32.exe que está en C:\Windows\SysWOW64.
Si creamos los ODBC desde la herramienta de ODBC que está entre las "Herramientas Administrativas", estaremos haciéndolo para aplicaciones de 64 bits, y cunando estemos en Knowledge Sync nos vamos a volver locos buscando los ODBC y lógico que nunca van a aparecer.