VERSIN 1.00
Ninguna parte de este documento puede ser reproducida o transmitida de ninguna forma, ni por cualquier medio, ya sea electrnico o mecnico, con ningn propsito, sin la previa autorizacin de
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
2 de 33
NDICE GENERAL
ACERCA DE ESTA GUA .................................................................................................................................................... 4 NOTA INTRODUCTORIA .............................................................................................................................................................. 4 CONSIDERACIONES INICIALES .................................................................................................................................................... 4 COMO FUNCIONAN LOS REPORTES CRYSTAL REPORTS DESDE EL ERP? ...................................................... 5 COMO VISUALIZAR LOS DATOS DE UN REPORTE CON XML DESDE LA HERRAMIENTA DE EDICIN DE REPORTES? ............................................................................................................................................ 6 INSTALACIN DEL DEPLOY CRYSTAL REPORTS: ................................................................................................... 7 COMO UTILIZAR EL PARMETRO LOGOCIA?: ...................................................................................................... 11 COMO INCLUIR LOS UDFS EN LOS REPORTES CRYSTAL?: ................................................................................ 13 ERRORES COMUNES ENCONTRADOS ........................................................................................................................ 17
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
3 de 33
CONSIDERACIONES INICIALES
Como puntos importantes y necesarios a tomar en cuenta en el proceso de instalacin, se menciona: 1. Exactus 500 y 510 solo son compatibles con los deploys de crystal 9 y 10. Exactus 600 solo es compatible con el deploy de crystal 11. 2. Solo es posible utilizar un deploy a la vez, no es compatible tener instalado el deploy de crystal 9 y 10 al mismo tiempo. 3. Si es posible tener en la misma maquina instalado el deploy de crystal 9 para exactus 500 y el deploy de crystal 11 para exactus 600 a la vez. No es posible tener crystal 10 y 11 pues no son compatibles. 4. Tambin se pueden presentar incompatibilidades si se encuentra instalado en la maquina Crystal Reports como herramienta de desarrollo en una versin que no sea compatible con la del deploy para Exactus. 5. Para utilizar los reportes de Crystal 11 del ERP 600 con ORACLE es necesario instalar el cliente ORACLE 9.2 o superior para utilizar los subreportes o los reportes directos.
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
4 de 33
Como vemos en el ejemplo la tabla factura proviene del ODBC EXCRY500XML410, sucesivamente de esta tabla se obtienen los valores que sern desplegados en el reporte. Este ODBC apunta a una carpeta designada como DATA donde se almacenan los archivos XML que contienen la informacin del reporte. Cada vez que se genera un reporte desde el ERP el modulo correspondiente genera un archivo XML con los datos que sern impresos y lo ubica en la carpeta DATA con un cdigo identificador, luego levanta una instancia de Crystal Reports con los datos de conexin y con el cdigo identificador del reporte, despus lo actualiza y lo despliega.
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial. 5 de 33
Es importante mencionar la utilidad de los archivos DTD en este proceso; si bien los datos del reporte se leen del archivo XML de la carpeta DATA, el formato y los tipos de cada campo se listan en el archivo XML que se encuentra en la carpeta DTD, uno para cada reporte. El nombre de estos reportes tiene el prefijo DD_, por ejemplo para el reporte factura.rpt existe en la carpeta DATA un archivo XML llamado dd_factura.xml. Si bien los reportes standard del ERP utilizan este formato de impresin por XML tambin es posible utilizar reportes elaborados con tablas directamente ligadas a la base de datos, ya sea SQL Server u ORACLE, porque el componente de impresin cuando recibe los datos de conexin reubica el reporte a la base de datos y la compaa correspondientes. Tambin es vlido combinar los datos de tablas del origen XML y tablas directamente ligadas a la base de datos.
Como visualizar los datos de un reporte con XML desde la herramienta de edicin de reportes?
Poder visualizar los datos de un reporte en la herramienta de edicin nos facilita los cambios de formato y nos ayuda a determinar cuando existe un problema para corregirlo. Para visualizar los datos de un reporte que funciona con XML es necesario hacer lo siguiente: 1. Lo primero es estar seguro de que el deploy de Crystal Reports para Exactus correspondiente esta bien instalado. 2. El siguiente paso es imprimir el reporte desde el ERP:
3. En el momento en que se genera el reporte se crea un archivo XML nuevo en la carpeta DATA (la ruta de la carpeta data esta especificada en
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial. 6 de 33
el ODBC) con un identificador nico, para determinar cual es el reporte correspondiente ordene el contenido de esta carpeta por fecha de modificacin, ser el ltimo reporte generado:
Si abrimos este reporte en su contenido referencia al RPT que imprimimos en el mdulo, como en el ejemplo: <BALGEN ProgID="D:\EXACTUS\REPORTES\BALGEN.RPT" xmlns="x-schema:D:\EXACTUS\DTD\DD_BALGEN.XML"> Ya que ubicamos el XML que corresponde al reporte que imprimimos hay que renombrar este archivo y ponerle el nombre del reporte, por ejemplo si es el reporte BALGEN.RPT hay renombrar el XML como BALGEN.XML. Es muy importante que exista el DTD correspondiente. 4. El siguiente paso es entrar en la herramienta de edicin de reportes y refrescar la informacin, de esta manera se desplegaran los datos del archivo XML.
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
7 de 33
2. Despus aparece la pantalla final. Al oprimir el botn Install se inicia el proceso de instalacin.
Al finalizar la instalacin quedaran copiados todos los componentes requeridos, generada la carpeta DATA en la ruta seleccionada y generado el ODBC de la siguiente forma:
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
8 de 33
El nombre del ODBC que se utiliza para EXACTUS 500 y 510 es EXCRY500XML410 tanto para el deploy de Crystal 9 como para el deploy de Crystal 10. La diferencia esta en que para Crystal 9 se utiliza la versin 4.10 del driver y para crystal 10 se usa la versin 4.20. El ODBC para el ERP 600 con el deploy de Crystal 11 es EXCRY600XML420 y usa la versin 4.20 del driver. Al configurar este ODBC debe tener una variable en la seccin Location Names que se llame EXACTUS de la siguiente forma:
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
9 de 33
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
10 de 33
Los reportes cuentan con un objeto tipo imagen en la parte superior izquierda, si le damos click derecho a este objeto nos aparecen varias opciones, debemos seleccionar Format Graphic como se muestra en la imagen:
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
11 de 33
Luego en la pantalla que se presenta seleccionamos el tab Picture y seguidamente oprimimos el botn que esta junto al ttulo Graphic Location: y que dice X+2:
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
12 de 33
Al hacer esto aparece un editor de frmulas donde es necesario incluir el parmetro LogoCompania, este parmetro esta dentro de los Report Fields y es posible arrastrarlo hasta la seccin en blanco de edicin de la formula como se muestra en la imagen:
Al final esta formula se guarda y ya el reporte es capaz de desplegar el logo que se haya definido en AS.
1. Cuando se genera un UDF para una tabla se incluyen una serie de triggers y una vista
correspondiente, el formato de esta vista es [Exv_] y el nombre de la tabla que afecta. Ya que tenemos definido un UDF para una tabla de EXACTUS es necesario abrir el diseo del reporte en Crystal Reports 11 e incluir esta vista a nuestro reporte. Es importante resaltar que esta vista tiene como llave principal el rowpointer(identificador nico) del registro al que corresponde, de manera que segn el reporte puede ser necesario agregar otra tabla que haga la relacin, como en el ejemplo de la imagen donde se agrego tambin la tabla Pedido.
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
13 de 33
2. Ahora es importante definir la relacin existente entre los registros de nuestro reporte y
el contenido de la vista.
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
14 de 33
La vista contiene un rowpointer que corresponde a cada registro de la tabla a la que se agreg el UDF, adems una columna por cada UDF que tenga la tabla, de esta manera como muestra el ejemplo se puede hacer la relacin de cada registro en la tabla pedido con un campo de la vista y con un valor para cada UDF. Tambin hay una relacin entre la llave principal de la tabla pedido y la llave principal del reporte. Si lo visualizamos como una sentencia SQL seria la siguiente: select P.Pedido, V.CC from Infomax.Pedido P, Infomax.Exv_Pedido V where P.rowpointer = V.rowpointer;
Ya en el diseo del reporte aparecer la vista y podremos incluir estos valores a nuestro reporte:
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
15 de 33
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
16 de 33
Solucin:
Este mensaje indica que el deploy que se desea instalar ya se encuentra instalado en la maquina y no permite continuar, ante esta situacin es necesario desinstalar el deploy antes de continuar. Para desinstalar busque la aplicacin en Control Panel \ Add or Remove Programs como en la imagen:
Para Crystal 9 aparece como Deploy de Crystal Reports versin 9, para Crystal 10 aparece como Deploy de Crystal Reports versin X y para Crystal 11 aparece como Deploy de Crystal Reports versin XI. Si el deploy correspondiente no aparece listado es necesario eliminar su identificador del registro de la maquina de la ubicacin siguiente:
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
17 de 33
Para el Deploy de Crystal 9: HKEY_CURRENT_USER\Software\Microsoft\Installer\Products\ 07192AA3DA83FDB4A839FC12C94D6120 Para el Deploy de Crystal 10: HKEY_CURRENT_USER\Software\Microsoft\Installer\Products\ 78F0313E141130D44B33DFA736F0A488 Para el Deploy de Crystal 11: HKEY_CURRENT_USER\Software\Microsoft\Installer\Products\ 6EC8E78DC632BAB4D915CBDB1F5B83D9 Como se ve en la imagen:
Si no se encuentran en esta direccin es posible que los mismos identificadores se encuentren dentro de la ruta HKEY_CLASSES_ROOT\Installer\Products. Con solo eliminar esta entrada del registry ya es posible instalar normalmente el deploy. 2. En algunos sistemas operativos, cuando Exactus va a generar un reporte se muestra la pantalla
donde en apariencia lo esta generando. Sin embargo, se cierra automticamente, no lo genera y no da un mensaje de error.
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
18 de 33
Tambin es probable, si en la maquina se encuentra instalado Visual Studio .net 2005, que aparezca la siguiente pantalla:
Solucin:
En realidad lo que sucede es que el sistema operativo (en este caso Windows Server 2003 en ambiente Terminal Services), supone que sucedi un error y cierra la aplicacin. Para esto se debe entrar a: My Computer System Properties Advanced Performance Settings
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
19 de 33
En el tab de Data Execution Prevention se activa la opcin de Turn On DEP. Ah se agregan cada uno de los mdulos de Exactus.
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
20 de 33
Como se puede observar una vez que se aplican los cambios, los reportes se pueden generar sin problemas.
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
21 de 33
NOTA: En teora y segn la documentacin, si se escoge la primer opcin (Turn on DEP for essencial Windows programs) tambin debera funcionar, pues hace las verificaciones para todos los programas que corren sobre Windows.
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
22 de 33
SELECT ctaban.moneda, ctaban.cuenta_banco, ctaban.nombre, ctaban.saldo, ef.descripcion, mon.nombre INTO :dlgRptMov.sMoneda, :dlgRptMov.sCuenta, :dlgRptMov.sNombreCuenta, :dlgRptMov.nSaldoFinal, :dlgRptMov.sBanco, :dlgRptMov.sMonedaDescrip FROM PRUEBA.cuenta_bancaria ctaban, PRUEBA.entidad_financiera ef, PRUEBA.moneda mon WHERE ctaban.entidad_financiera = ef.entidad_financiera AND ctaban.moneda = mon.moneda AND ctaban.cuenta_banco IN (SELECT DISTINCT(cuenta_banco) FROM PRUEBA.mov_bancos mb, PRUEBA.subtipo_doc_cb sub WHERE mb.tipo_documento = sub.tipo AND mb.Subtipo = sub.subtipo AND mb.fecha >= :dlgRptMov.dfFechaInicial AND mb.fecha <= :dlgRptMov.dfFechaFinal AND ( ( sub.TIPO = 'CHQ' AND sub.SUBTIPO IN ( 0 )) OR ( sub.TIPO = 'N/D' AND sub.SUBTIPO IN ( 0 )) OR ( sub.TIPO = 'O/D' AND sub.SUBTIPO IN ( 0 )) OR ( sub.TIPO = 'T/D' AND sub.SUBTIPO IN ( 0 )) ) OR ( ( sub.TIPO = 'DEP' AND sub.SUBTIPO IN ( 0 )) OR ( sub.TIPO = 'N/C' AND sub.SUBTIPO IN ( 0 )) OR ( sub.TIPO = 'O/C' AND sub.SUBTIPO IN ( 0 )) OR ( sub.TIPO = 'T/C' AND sub.SUBTIPO IN ( 0 )) ) ) ORDER BY ctaban.moneda, cuenta_banco Microsoft SQL Server:4147[Microsoft][ODBC SQL Server Driver][SQL Server]The query uses nonANSI outer join operators ("*=" or "=*"). To run this query without modification, please set the comp
Solucin:
Este error se presenta en los servidores SQL 2005 cuando no esta habilitado el nivel de compatibilidad de la base de datos con el formato SQL Server 2000, esto porque ciertos smbolos de programacin han cambiado en la versin 2005. La solucin es la siguiente y aplica par Exactus 500 y Exactus 600:
Para que Exactus Impulso versiones 5.0 y 6.0 funcione adecuadamente con SqlServer 2005 es necesario configurar el atributo Compatibility Level con el valor SqlServer 2000 (80), caso contrario se obtienen problemas ejecutando ciertos estatutos SQL que utilizan OuterJoins. SqlServer 2005, dej de soportar la sintaxis anterior para realizar Outer Joins en estatutos Sql, y en su lugar ahora slo soporta la nueva sintaxis del estndar SQL92.
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial. 23 de 33
Exactus Impulso utiliza la sintaxis previa, por tanto para que pueda funcionar adecuadamente con SqlServer2005 es necesario configurar la compatibilidad hacia SqlServer2000 que es un atributo a nivel de base de datos. A continuacin se muestra la ubicacin de dicho atributo, para modificarlo desde el Management Studio: Seleccione la base de datos de Exactus Impulso, y escoja la opcin de Properties
Seleccione la pgina Options, y en el atributo Compatibility Level, seleccione de la lista el valor SQL Server 2000 (80)
Solucin:
Este error se presenta cuando el componente EXCRYREPORT.DLL no se encuentra registrado correctamente, para registrar este dll ejecute la siguiente sentencia en el RUN de su sistema operativo:
Este componente esta en la carpeta de instalacin de Exactus. NOTA: El nombre de este componente depende de la versin de cristal (ExCryReport.dll para 9, ExCryReport10.dll para 10 y ExCryReportXI.dll para 11).
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
25 de 33
Este error se presenta con subreportes en bases de datos ORACLE, cuando falla la conexin del subreporte con el servidor. Esto sucede porque Exactus se conecta con solo el nombre del servicio Oracle, cuando los subreportes en algunos casos requieren el nombre del servicio y el dominio en el que se encuentra, por ejemplo: ORA500M.exactus.com.
Solucin:
Una posible solucin es cambiar la conexin del subreporte, si es por medio de ODBC cambiarla por una conexin directa con el driver de ORACLE, esto en la herramienta Crystal Reports de desarrollo. Otra posible solucin es generar un archivo llamado sqlnet.ora en la misma ruta donde se encuentre el TNSNAMES.ORA (por ejemplo: C:\oracle\ora92\network\ADMIN\) con el siguiente contenido:
# SQLNET.ORA Network Configuration File: C:\oracle\ora92\network\admin\sqlnet.ora # Generated by Oracle configuration tools. NAMES.DEFAULT_DOMAIN = exactus.com SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH= (TNSNAMES)
Este archivo debe ser editado para cambiar el dominio exactus.com por el dominio correspondiente. De esta manera la conexin ORACLE del reporte identifica el dominio actual.
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
26 de 33
Solucin:
Este error se debe a una falta de privilegios del perfil del usuario raso que se conecta al servidor por medio de terminal. Para solucionar el problema es necesario instalar el deploy de crystal reports en el perfil de este usuario raso de manera que le permita accesar a las entradas del registro que requiere, esto solo seria necesario hacerlo con un usuario raso y al funcionar quedara listo para los dems usuarios rasos. Adicionalmente estas entradas ya estn identificadas y listadas en un archivo .REG de manera que otra posible solucin del problema seria ejecutar este archivo segn corresponda la versin del deploy. Es importante denotar que este archivo contiene unas variables que se llaman [CommonFilesFolder] y [SystemFolder] que deben ser reemplazadas por sus correspondientes rutas en la maquina actual. Por ejemplo la hilera siguiente:
@="[CommonFilesFolder]Crystal Decisions\\1.0\\Bin\\SACommonControls.dll"
Y la siguiente: @="[SystemFolder]CRiadx09.dll" Por la siguiente: @=" C:\\WINDOWS\\system32\\CRiadx09.dll" Como se ve en el ejemplo se sustituyen las variables por las rutas correspondientes de la maquina utilizando doble \\. Lo recomendado es abrir los archivos con el notepad y realizar un reemplazar. Los archivos son los siguientes: ftp://ftp.exactus.com/exactus/Instaladores/Otros/Crystal-9/Todos los usuarios Crystal 9.reg
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial. 27 de 33
ftp://ftp.exactus.com/exactus/Instaladores/Otros/Crystal-10/Todos los usuarios Crystal 10.reg ftp://ftp.exactus.com/exactus/Instaladores/Otros/Crystal-11/Todos los usuarios Crystal 11.reg
Solucin:
Este error se debe a que estos reportes son directos y en el caso de ORACLE pueden requerir ms informacin de conexin que lo que le pasa Exactus; esto en el caso de que requiera el dominio del servidor. Para solucionar el problema refirase al punto 4 de esta misma seccin de errores comunes. Otra posible razn de estos errores es que se encuentren instaladas varias versiones del cliente de ORACLE en la maquina en cuyo caso lo recomendable es desinstalar las versiones anteriores y dejar solo la ltima versin funcionando.
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
28 de 33
Solucin:
Este error se debe a que una funcin que esta siendo utilizada en las formulas no existe en el componente CRUFLCRB.dll que esta registrado en la maquina, posiblemente porque se esta utilizando una versin no actualizada. La solucin es buscar este archivo en toda la maquina, desregistrar los anteriores y registrar el ltimo liberado. La sentencia para registrar es la siguiente (por ejemplo): REGSVR32 C:\Exactus\CRUFLCRB.DLL La sentencia para desregistrar es la siguiente (por ejemplo): REGSVR32 -u C:\Exactus\CRUFLCRB.DLL Ejemplo de las funciones del CRUFLCRB.dll en un reporte:
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
29 de 33
Solucin:
Cuando se presenta este error es posiblemente porque el ODBC de Crystal esta mal configurado, lo recomendable es revisar el ODBC y probar que tenga bien direccionada la carpeta DATA .
Solucin:
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial. 30 de 33
Este error se debe a que no se encuentra bien instadlo el componente EXCRYREPORT.dll de la versin correspondiente, es necesario buscarlo en la maquina y registrarlo con la sentencia REGSVR32 C:\EXACTUS\EXCRYREPORT.dll (por ejemplo).
Solucin:
Este error se debe a que el reporte no reconoce uno de los campos que se estn mandando. Si es un reporte standard que funciona con XML es recomendable revisar que exista el DTD correspondiente y que al editar el reporte no de problemas. Si es un reporte directo tambin se recomienda editarlo para determinar el problema.
Solucin:
Cuando se presenta este problema es posiblemente porque el deploy de Crystal se encuentra mal instalado, en este caso hay que revisar el ODBC y verificar que tenga la direccin de la carpeta data correcta. Si al tratar de ver la carpeta DATA no se despliega nada es porque esta mal instalado y es necesario reinstalar, este problema tambin se presenta cuando en la misma maquina estn instalados los deploy de Crystal 10 y Crystal 11 que no son compatibles.
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
31 de 33
Solucin:
Cuando se presenta este problema es porque en el reporte se aadi un subreporte con una conexin directa que no est funcionando. Lo recomendable es utilizar para esta conexin el mismo ODBC que se utiliza para la base de datos EXACTUS en el caso de SQL Server, y para ORACLE utilizar la conexin directa al driver de Oracle y verificar si es necesario utilizar el nombre del dominio en la conexin como se describe en el punto 5 de esta seccin de errores comunes.
Solucin:
El problema puede presentarse porque est definida la variable de entorno relacionada con los archivos temporales del usuario terminal a una ruta inexistente, al momento de redefinir el valor de esta variable a una ruta correcta se arregla.
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
32 de 33
Solucin: Si se da el caso de un servicio de oracle que se llama igual al dominio y en el TNSNAMES esta como EXACTUS.EXACTUS.com (por ejemplo) es necesario que se coloque de primero en el TNSNAMES pues de no ser asi da problemas a la hora de imprimir los reportes con conexiones directas a Oracle. Este error tambien se presetna si el cliente de ORACLE de la maquina es menor que 9i.2.0.
Para uso interno de EXACTUS de Costa Rica ECR, SRL. Prohibida su reproduccin total o parcial.
33 de 33