Utilización Crystal Reports 2008



Documentos relacionados
Utilización Crystal Reports 2008 Usando Bussiness Object V4.0

ATLAS MANUAL DE USUARIO DEL ARQUETIPO WEB CON DOCUMENTUM

Instalación. Interfaz gráfico. Programación de Backups. Anexo I: Gestión de la seguridad. Manual de Usuario de Backup Online 1/21.

ATLAS MANUAL DE INTEGRACIÓN

ATLAS MANUAL DE USUARIO COMPONENTES JSF BUSINESS OBJECTS XI

GENERACIÓN DE TRANSFERENCIAS

Traslado de Copias y Presentación de Escritos. Manual de Usuario V.3.1

UNIDESYS UNIVERSAL BUSINESS SYSTEMS INSTALACIÓN NUEVO PUESTO DE TRABAJO

Documentum 6.7. Manual de migración de proyectos DocAPP a DAR. Área de Aplicaciones Especiales y Arquitectura de Software. Versión 1.

Solución de firma de pdf (Servidor) PDF_SIGN Versión 1.4

CIF-KM. GUÍA DE LOS PRIMEROS PASOS

ATLAS MANUAL DE USUARIO SERVICIO DE AUDITORIA

MANUAL DE USUARIO Guía de Gestión de la Configuración con Subversion

Notas para la instalación de un lector de tarjetas inteligentes.

Correo Electrónico: Webmail: Horde 3.1.1

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

INSTALACIÓN Y REGISTRO

Manual de instalación Actualizador masivo de Stocks y Precios

ATLAS MANUAL DE USUARIO SERVICIO DE TRAZAS

MANUAL SINCRONIZADOR LEKOMMERCE FACTUSOL

Guía rápida de la Oficina Virtual Área Web y Administración Electrónica

ALTAS MANUAL DE USUARIO ENVÍO DE CORREOS ELECTRÓNICOS

Desarrollo de Servicios Web con JBuilder

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico)

Instalación y Registro Versiones Educativas 2013

Manual hosting acens

PLATAFORMA DE VISADO TELEMÁTICO.

GENERACIÓN DE ANTICIPOS DE CRÉDITO

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

Guía de instalación de la carpeta Datos de IslaWin

(Certificado de Empresa): guía para las empresas

Escudo Movistar Guía Rápida de Instalación Para Windows

Requisitos técnicos para la instalación. Arquitectura Hardware Arquitectura Software. Instrucciones de instalación GONG-R

5. Composer: Publicar sus páginas en la web

Software Criptográfico FNMT-RCM

NORMA 34.14(SEPA) 05/11/2013

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

Manual de usuario de Parda Programa de Almacenamiento y Recuperación de Datos Automático

TEMA 4: EMPEZANDO A NAVEGAR ESCUELA UNIVERSITARIA DE INFORMÁTICA. Raúl Martín Martín

Manual de Instalación del Certificado ACA en Windows 8.1

CASO PRÁCTICO. CASOS PRÁCTICOS Internet (CP15 y CP16)

Aplicateca. Manual de Usuario: Ilion Factura Electrónica. Espíritu de Servicio

ALTAS MANUAL DE USUARIO DEL SERVICIO DE CERTIFICADOS

Visor de presupuestos en Android

Cuando hacemos uso de los grupos, se tendrán los permisos asignados al grupo, en todas las carpetas y documentos del sitio.

Taller de capacitación en la Ventana Única de Transparencia (VUT) Enfoque práctico

Edición de Ofertas Excel Manual de Usuario

Guía de integración del módulo de Redsys en Prestashop

Internet Information Server

PS.Vending Almacén Pocket PC

Guía de referencia Repositorio de documentos Honorable Consejo Superior

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

ArquitecturaSW Portal para el Desarrollo de Aplicaciones y Soporte Comunidad de Madrid ICM

GUÍA PARA INICIAR UN TRÁMITE DESDE LA OFICINA VIRTUAL

E Manual de usuario. : Versión: 0.1 Fecha: 05/02/2013 Autor: Carlos Ors Carlos.ors@tecsidel.es

Manual de NetBeans y XAMPP

Portal Del Emisor MANUAL DEL USUARIO. Plataforma de Facturación Electrónica

Tarea 1 Programación José Luis Comesaña

PRESENTACIÓN TELEMÁTICA DE LIBROS

Manual de Usuario Canal Empresa FACTEL

WINDOWS : TERMINAL SERVER

FRAMEWORK 2 Recepción de SMS

Manual CMS Mobincube

ATLAS MANUAL DE USUARIO DEL ARQUETIPO WEB PARA PROYECTOS NEXUS

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa Configuración Internet Explorer para ActiveX...

ATLAS MANUAL DE INTEGRACIÓN Cliente del Servicio de SMS

PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet. Revisión 1.1 Fecha

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

MANUAL DE USUARIO. Se deben seguir los siguientes pasos para la correcta instalación del módulo descargable:

INSTALACIÓN DE MEDPRO

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE

Manual SSO Avant2. Última revisión: 02/05/2013. Copyright Codeoscopic S.A.

Guía de instalación de la carpeta Datos de ContaWin

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid

MIGRACIÓN NEXUS 8 A A3ERP 9

INSTALACIÓN DE GITLAB

MANUAL DE INSTALACIÓN PLATAFORMA PROGRESA AUTOR: ASAC COMUNICACIONES DEPARTAMENTO DE DESARROLLO NOVIEMBRE DE 2007

ATLAS MANUAL DE USUARIO DEL ARQUETIPO WEBSERVICE

ATLAS MANUAL DE USUARIO ARBOL ACCESIBLE

Modo básico de funcionamiento del módulo Velneo vmodapache V7

DOCENTES FORMADORES UGEL 03 PRIMARIA

MANUAL DE AYUDA MODULO TALLAS Y COLORES

MANUAL DE AYUDA MÓDULOS 2011 MACOS

Tenemos que instalar los programas de los usuarios también (los anteriormente mencionados) y los siguientes que vamos a nombrar.

MANUAL DE INSTALACIÓN

Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian

Administración Local Soluciones

Manual del Protocolo XML-RPC de Mensajería Negocios

Login y Password. Elección de directorios confidenciales

Bibliotecas Escolares. Perfil de Lector.

ALTAS MANUAL DE USUARIO DEL SERVICIO DE CERTIFICADOS

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

MARFIL CONTABILIDAD ACTUALIZACIÓN FEBRERO 2011

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Manual de Usuario del Excel de Envíos al INTCF

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT

ACCESO AL SERVIDOR EXCHANGE MEDIANTE OWA

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

Transcripción:

Utilización Versión 1.7 Área de Aplicaciones Especiales y Arquitectura de Software

Hoja de Control Título Manual de Usuario de Utilización de Informes de Documento de Referencia Responsable NORMATIVA ATLAS ICM Versión 1.7 Fecha Versión 15/01/2015 1 Revisado/Validado por: Fecha Revisión/Validación 2 Aprobado por: Fecha Aprobación Registro de Cambios Versión Causa del Cambio Responsable del Cambio Fecha 1.0 Versión inicial del documento Arquitectura de Software 21/01/2010 1.1 Cambio indicación librerías Arquitectura de Software 19/10/2010 1.2 Inclusión de apartado concreto para el framework ATLAS Arquitectura de Software 09/02/2011 1.3 1.4 1.5 1.6 Las preguntas frecuentes se consultarán en el portal de arquitectura. Se modifica el nombre del área Eliminar la extensión.rpt al subir los reports desde Crystal a la Plataforma Incluida documentación para login automático si se quiere acceder a InfoView Incluido nuevo método obtenerinforme para exportar informes a otros formatos que no son PDF. Arquitectura de Software 05/07/2011 Arquitectura de Software 12/06/2013 Arquitectura de Software 30/01/2014 Arquitectura de Software 03/06/2014 1.7 3.2.1 incluida ejemplo de llamada a opendocument con stype Arquitectura de Software 15/01/2015 Página 2 de 30

Índice 1 INTRODUCCIÓN... 4 1.1 AUDIENCIA OBJETIVO... 6 1.2 CONOCIMIENTOS PREVIOS... 6 2 GENERACIÓN DE UN INFORME CON CRYSTAL REPORTS 2008... 7 2.1 CONFIGURACIÓN DE CRYSTAL REPORTS 2008... 7 Paso 1: Instalación de... 7 Paso 2: Descarga del driver jdbc de conexión con Oracle... 7 Paso 3: Modificación del fichero CRConfig.xml... 7 2.2 CREACIÓN DE UN INFORME... 8 Paso 1: Seleccionar en el asistente de base de datos la opción JDBC (JNDI) al crear un nuevo informe.... 9 Paso 2: Información sobre la conexión.... 9 Paso3: Indicar credenciales de usuario.... 10 2.3 PUBLICACIÓN DE UN INFORME EN LA PLATAFORMA... 10 Paso 1: Seleccionar en el menú Archivo Guardar como... 10 Paso 2: Selección de la carpeta... 11 3 USO DESDE UNA APLICACIÓN WEB JAVA CON FRAMEWORK ATLAS... 12 3.1 INSTALACIÓN Y CONFIGURACIÓN... 13 Paso 1: Inclusión de las librerías... 13 Paso 2: Inclusión de las variables en el fichero environment.properties... 13 Paso 3: Carga de los Beans de Spring de la librería, en fichero web.xml... 13 Paso 3: Inclusión del Bean de configuración de Spring en la Fachada... 14 Paso 4: Inclusión del servicio dentro de la clase Java de la Fachada... 14 3.2 USO... 16 3.2.1 VISUALIZACION DE INFORME EN UN BROWSER... 16 3.2.2 OBTENCIÓN DE INFORME DESDE CODIGO... 18 3.2.3 ACCESO A INFOVIEW SIN PASAR POR LA PÁGINA DE LOGIN... 21 4 USO DESDE UNA APLICACIÓN WEB JAVA CON FRAMEWORK 2... 22 4.1 INSTALACIÓN Y CONFIGURACIÓN... 22 Paso 1: Descarga de las librerías... 22 Paso 3: Actualización del fichero de configuración de la aplicación... 22 Paso 4: Página de redirección... 22 4.2 USO... 22 Paso 1: Autenticación mediante llamada al servicio web... 23 Paso 2: Llamada a la plataforma Business Objects mediante la URL de opendocument... 23 4.2.1 Ejemplo completo de Uso... 23 5 USO DESDE UNA APLICACIÓN FORMS... 28 5.1 USO... 28 Paso 1: Autenticación mediante llamada a procedimiento almacenado... 28 Paso 2: Ejecución del informe... 29 6 NORMATIVA PARA INFORMES... 30 7 PREGUNTAS MÁS FRECUENTES... 30 Página 3 de 30

Contenido 1 INTRODUCCIÓN Para utilizar informes de en las distintas aplicaciones de la Comunidad de Madrid, se ha optado por una solución centralizada que libera a la aplicación que va a utilizar los informes de la complejidad de su generación e interpretación. Para ello, la solución planteada propone albergar los informes en la plataforma corporativa Business Objects Enterprise, de manera que las aplicaciones que tengan que utilizar dichos informes accederán a ellos de dos posibles formas, dependiendo de la funcionalidad requerida: 1) Visualizar un Informe en un Browser: En este caso, la aplicación abre un navegador con una URL que hace referencia al informe en dicha plataforma. 2) Obtención del Informe desde Código (sólo para Framework ATLAS): Por ejemplo, para tratar el informe en PDF o almacenarlo posteriormente en un fichero o en Documentum. En este caso, es necesario utilizar unas librerías que se proporcionan para obtener el documento. En este documento se describe la forma en la que las aplicaciones deben acceder a la plataforma de informes, incluyendo la autenticación previa necesaria antes de poder acceder a los informes. Dicha autenticación se realizará accediendo a un Servicio Web, al que se proporciona unas credenciales, y devuelve una cadena de texto que sirve para identificarse en la plataforma. Este documento contiene información sobre cómo realizar dicha autenticación desde una aplicación web en Java (Framework 2), o desde una aplicación Forms. Desde el framework ATLAS la autenticación se realiza de manera transparente al desarrollador. Página 4 de 30

El siguiente esquema muestra a modo general la arquitectura de la solución propuesta, así como los tres pasos necesarios para mostrar un informe de : Publicación del informe, Autenticación en la Plataforma, y Apertura del informe: Página 5 de 30

1.1 AUDIENCIA OBJETIVO Este documento está orientado a toda aquella persona que desea utilizar informes de en un proyecto realizado para la Comunidad de Madrid, tanto en tecnología java como en tecnología Forms. 1.2 CONOCIMIENTOS PREVIOS Para un completo entendimiento del documento, el lector deberá tener conocimientos previos sobre las siguientes tecnologías: Cystal Reports 2008 Para una aplicación Java: - Lenguaje Java - Invocación de Servicios Web en Java Para una aplicación Forms: - Forms 10 - Invocación de procedimientos almacenados desde Forms - Apertura de una URL en un browser desde Forms Página 6 de 30

2 GENERACIÓN DE UN INFORME CON CRYSTAL REPORTS 2008 Para realizar un informe que posteriormente podrá ser utilizado por una aplicación, es suficiente con crearlo desde la herramienta. Una vez que se tiene el informe generado en formato.rpt, será necesario publicar dicho informe en la plataforma de Business Objects corporativa para que pueda ser invocado por la aplicación correspondiente. A continuación se describen los pasos para configurar, crear un informe y posteriormente subirlo a la plataforma. 2.1 Configuración de La conexión a base de datos de los informes generados deberá ser de tipo JDBC. Para poder crear un informe utilizando una conexión JDBC con base de datos Oracle, una vez instalado el producto, es necesario realizar los siguientes pasos: Paso 1: Instalación de Utilizando el CD de instalación de la herramienta, seguir los pasos habituales utilizando la configuración por defecto. Paso 2: Descarga del driver jdbc de conexión con Oracle Descargar la librería ojdbc14.jar de la web de soja, en la zona Arquitectura de Aplicaciones Framework 2.0 Librerías. Se debe situar dicha librería en el directorio C:\Archivos de programa\business Objects\Common\4.0\java\lib\external. Paso 3: Modificación del fichero CRConfig.xml Es necesario editar el fichero CRConfig.xml del directorio C:\Archivos de programa\business Objects\Common\4.0\java, para incluir la referencia a la librería descargada. Para ello debe modificarse la etiqueta <ClassPath> dentro de <DataDriverCommon>. Ejemplo: Página 7 de 30

<DataDriverCommon> <JavaDir>C:\Archivos de programa\business Objects\javasdk\bin</JavaDir> <Classpath>C:\Archivos de programa\business Objects\Common\4.0\java/lib/crlovmanifest.jar;C:\Archivos de programa\business Objects\Common\4.0\java/lib/CRLOVExternal.jar;C:\Archivos de programa\business Objects\Common\4.0\java/lib/CRDBJDBCServer.jar;C:\Archivos de programa\business Objects\Common\4.0\java/lib/CRDBXMLServer.jar;C:\Archivos de programa\business Objects\Common\4.0\java/lib/CRDBJavaBeansServer.jar;C:\Archivos de programa\business Objects\Common\4.0\java/lib/external/log4j.jar;C:\Archivos de programa\business Objects\Common\4.0\java/lib/CRDBSForceServer.jar;C:\Archivos de programa\business Objects\Common\4.0\java/lib/external/CRDBSForceExternal.jar;C:\Archivos de programa\business Objects\Common\4.0\java/lib/external/CRDBXMLExternal.jar;C:\Archivos de programa\business Objects\Common\4.0\java/lib/external/ojdbc14.jar;${CLASSPATH</Classpath> <IORFileLocation>${TEMP</IORFileLocation> Opcionalmente, si se desea que por defecto al crear una nueva conexión JDBC aparezcan los parámetros de conexión a una base de datos determinada, puede modificarse la zona dentro de la etiqueta <JDBC> del fichero CRConfig.xml, para incluir dicha información. Ejemplo: <JDBC> <CacheRowSetSize>100</CacheRowSetSize> <JDBCURL>jdbc:oracle:thin:@icm21:1521:denivel2</JDBCURL> <JDBCClassName>oracle.jdbc.driver.OracleDriver</JDBCClassName> <JDBCUserName>dba_ejpl</JDBCUserName> <JNDIURL></JNDIURL> Una vez realizados estos pasos, ya puede procederse a crear el informe que se desee. 2.2 Creación de un Informe La conexión a base de datos de los informes generados deberá ser de tipo JDBC. Para poder crear un informe utilizando una conexión JDBC con base de datos Oracle, es necesario realizar los siguientes pasos: Página 8 de 30

Paso 1: Seleccionar en el asistente de base de datos la opción JDBC (JNDI) al crear un nuevo informe. Paso 2: Información sobre la conexión. Al pulsar el signo + nos mostrará una ventana con la información de la conexión JDBC. En esta ventana podemos modificar el parámetro URL de conexión y actualizarlo con nuestra base de datos. Página 9 de 30

Paso3: Indicar credenciales de usuario. Al pulsar el botón Siguiente nos pedirá el usuario y la contraseña para acceder a la base de datos. Una vez incluidos y tras pulsar el botón Finalizar aparecerá la lista de las tablas disponibles para realizar el informe. 2.3 Publicación de un Informe en la plataforma Una vez creado el informe, es necesario publicarlo en la plataforma Business Objects Enterprise para que pueda ser accedido por la aplicación. La publicación del informe puede realizarse desde la propia herramienta Crystal Reports 2008, según los siguientes pasos: Paso 1: Seleccionar en el menú Archivo Guardar como En la ventana que aparece seleccionar la opción Enterprise de la columna de la izquierda. Una vez en esa opción, indicar los parámetros de conexión a la plataforma: Página 10 de 30

Paso 2: Selección de la carpeta En la ventana que aparece, seleccionamos la carpeta con el nombre del proyecto actual, para publicar el documento en dicha carpeta. Además, introducimos el nombre que queremos darle al informe dentro de la plataforma (revisar el apartado Normativa de este documento para consultar la nomenclatura de informes y carpetas): MUY IMPORTANTE: Antes de pulsar sobre Guardar, debemos eliminar la extensión.rpt de la caja de texto donde aparece el nombre del fichero: Pulsamos sobre el botón Guardar para guardar definitivamente el documento. Página 11 de 30

3 USO DESDE UNA APLICACIÓN WEB JAVA CON FRAMEWORK ATLAS En este apartado se muestra el uso de informes desde una aplicación web escrita en Java con el Framework de desarrollo ATLAS. Para acceder a un informe publicado en la plataforma, es necesario previamente autenticarse a través de un servicio web. Una vez autenticado, existen dos formas de acceder a la plataforma: 1) Si sólo se necesita mostrar un informe al usuario final (en el browser): En este caso es suficiente con abrir una dirección URL en un browser que apunte al documento indicado en la plataforma (usando la utilidad OpenDocument que proporciona Business Objects). 2) Si se necesita obtener el informe desde el código: Por ejemplo, para guardar el informe en un archivo PDF, o guardarlo en Documentum o cualquier otro uso que haga necesario que la aplicación tenga acceso al informe. En este caso es necesario utilizar unos métodos que proporciona el framework ATLAS para obtener el informe de la plataforma. Aunque en este apartado se describe cómo configurar y utilizar el módulo, existe un ejemplo completo de funcionamiento integrado dentro de la aplicación de componentes de ATLAS cuyo código fuente es público. Puede consultarse esta aplicación para ver un ejemplo concreto de uso. Integración con en aplicación de Componentes de ATLAS Página 12 de 30

3.1 INSTALACIÓN Y CONFIGURACIÓN A continuación se describen los pasos para instalar los componentes necesarios para poder acceder a un informe publicado en la plataforma: Paso 1: Inclusión de las librerías Para la descarga del módulo dentro de nuestro repositorio Maven e indicar también que nuestra aplicación tiene dependencia con él, se debe de indicar la dependencia en el fichero pom.xml de nuestra aplicación. La dependencia debe ser definida dentro del nodo <dependencies> como se define a continuación: pom.xml <dependencies> <dependency> <groupid>atlasfrm</groupid> <artifactid>atlasfrm-bo-lib</artifactid> <version>${atlasfrm-bo-lib.version</version> </dependency> </dependencies> Paso 2: Inclusión de las variables en el fichero environment.properties Una vez incluida la dependencia, es necesario que incluyamos las variables que definen el acceso a la plataforma de Business Objects en el fichero environment.properties situado en la carpeta src/main/resources/ : environment.properties # Configuración de acceso a Business Objects bo_ws.webservice=http://desarrollo.madrid.org/bo_ws/services/serviciows bo_ws.rutabo=http://icmdesbi01:8080 bo_ws.usuario=(usuario) bo_ws.clave=(contraseña) Nota Para realizar pruebas en el entorno de desarrollo de Business Objects de ICM, deberemos solicitar un usuario y contraseña para nuestro proyecto a la Unidad de Arquitectura de Aplicaciones. Paso 3: Carga de los Beans de Spring de la librería, en fichero web.xml En el fichero web.xml de nuestra aplicación es necesario especificar que se deben cargar los beans de la librería de integración con Crystal Reports (fichero conf/applicationcontext-atlasfrm-bo-lib.xml ): web.xml Página 13 de 30

<context-param> <description> Este parametro indica la localización exacta de los ficheros de configuración de SPRING </description> <param-name>contextconfiglocation</param-name> <param-value>classpath:/conf/applicationcontext-general.xml; classpath:/conf/applicationcontext-database.xml; classpath:/conf/applicationcontext-dao.xml; classpath:/conf/applicationcontext-services.xml; classpath:/conf/applicationcontext-security.xml; classpath:/conf/applicationcontext-security-hostpolitica.xml; classpath:/atlas/atlas-comp-control-m.xml; classpath:/conf/atlas-trazas-application-context.xml; classpath:/conf/atlas-monitorizacion-application-context.xml; classpath:/conf/applicationcontext-componentes.xml; classpath:/conf/applicationcontext-atlasfrm-bo-lib.xml; </param-value> </context-param> Paso 3: Inclusión del Bean de configuración de Spring en la Fachada En la configuración del bean de la fachada (o servicio) desde la que queramos utilizar el acceso a informes de Crystal Reports, deberemos inyectar una referencia a un bean ya existente denominado "boservice (no es necesario declararlo, ya se encuentra en las librerías de ATLAS). Un posible ejemplo de inclusión sería: applicationcontext-services.xml <!-- ==================== FACADE APLICACION DEMOSTRACION ==================== --> <bean id="demofacade" class="atlas.samples.services.facade.samplefacadeimpl"> <description> Bean que representa la fachada por la cual acceder a los servicios de la aplicacion de demostracion de componentes </description> <property name="boservice" ref="boservice" /> </bean> Paso 4: Inclusión del servicio dentro de la clase Java de la Fachada En la clase Java de la fachada/servicio desde la que queramos utilizar el acceso a informes de Crystal Reports, deberemos incluir el objeto que representa al servicio boservice, incluyendo getters y setters. El objeto debe ser de tipo atlas.core.bo.services.boservice : SampleFacadeImpl.java Página 14 de 30

import atlas.core.bo.services.boservice; @Service @SuppressWarnings("unchecked") public class SampleFacadeImpl implements SampleFacade { /** Servicio de Crystal Reports de ATLAS */ private BOService boservice; /** * Devuelve el servicio de ATLAS para Crystal Reports * @return the boservice */ public atlas.core.bo.services.boservice getboservice() { return boservice; /** * Establece el servicio de ATLAS para Crystal Reports * @param boservice the boservice to set */ public void setboservice(atlas.core.bo.services.boservice boservice) { this.boservice = boservice; Página 15 de 30

3.2 USO Una vez publicado un informe en la plataforma BO, y configurada la aplicación, existen dos formas de acceder a la plataforma para obtener un informe: 1) Uso con OpenDocument: Si sólo se necesita mostrar un informe al usuario final (en el browser), es suficiente con abrir una dirección URL en un browser que apunte al documento indicado en la plataforma (usando la utilidad OpenDocument que proporciona Business Objects). 2) Uso directo a través con la Plataforma: Si se necesita obtener el informe desde el código para, por ejemplo, guardar el informe en un archivo PDF, guardarlo en Documentum o cualquier otro uso que haga necesario que la aplicación tenga acceso al informe. En este caso es necesario utilizar unos métodos que proporciona el framework ATLAS para obtener el informe de la plataforma, y así posteriormente poder manipularlo. En los siguientes apartados se describe el uso con cada una de las dos posibilidades descritas (OpenDocument y Acceso Directo a la plataforma): 3.2.1 VISUALIZACION DE INFORME EN UN BROWSER Para visualizar un informe en un browser vamos a utilizar el servicio opendocument que nos ofrece la plataforma. En este caso, es suficiente con invocar al método obtenerurlopendocument del servicio BOService, indicándole los valores de los siguientes parámetros: docname: Nombre del informe formato: Formato del informe (P=PDF, E=Excel, H=HTML, W=Word) parámetros: Cadena con parámetros a incluir. Ejemplos de cadenas con parámetros según su tipo son: - &lssparamstring=h - &lssparamnumber=1 - &lssparamcurrency=121 - &lssparamdate=date(2003,6,11) - &lssparamdatetime=datetime(2003,6,11,14,38,37) - &lssparamboolean=false - &lssparamtime=time(12,39,2) - &lssparamstringdr=a - &lssparamdatedr=date(2003,6,1) Nota Para más información sobre el uso del servicio opendocument de la plataforma de BO (paso de parámetros a documentos, etc.), consultar el documento Viewing Reports and Documents using URLs en la siguiente URL: http://help.sap.com/businessobject/product_guides/boexir31/en/xi3-1_url_reporting_opendocument_en.pdf A continuación se muestra un ejemplo de uso dentro de un Backing Bean de JSF (para ver más ejemplos, consultar la aplicación de componentes): Página 16 de 30

Ejemplo para reports de crystal report en formato rpt CrystalFormBean.java public String opendocumentconparametrostring() throws ServiceException, IOException { String docname = "EJPLParametro"; String formato = "P"; String parametros = "&lsscodigo=1" // Nombre parametro codigo, valor 1 + "&lsstexto=esto ES UNA PRUEBA"; String url = demofacade.obtenerurlopendocument(docname, formato, parametros); HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse(); response.sendredirect(url); return ""; Ejemplo para tipo de documento wid CrystalFormBean.java public String opendocumentconparametrostring() throws ServiceException, IOException { String docname = "EJPLParametro"; String stype = "wii"; String formato = "P"; String parametros = "&lsscodigo=1" // Nombre parametro codigo, valor 1 + "&lsstexto=esto ES UNA PRUEBA"; String url = demofacade.obtenerurlopendocument(docname, stype, formato, parametros); HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse(); response.sendredirect(url); return ""; Página 17 de 30

3.2.2 OBTENCIÓN DE INFORME DESDE CODIGO Se usará esta opción si se necesita obtener el informe desde el código para, por ejemplo, guardar el informe en un archivo PDF local, guardarlo en Documentum o cualquier otro uso que haga necesario que la aplicación tenga acceso al informe. En este caso es necesario utilizar los métodos que ofrece el servicio BOService para el acceso a la plataforma, descrito a continuación: 3.2.2.1 Método muestraparametrosinforme El método muestraparametrosinforme nos permite saber qué parámetros recibe un informe ya existente en la plataforma de Business Objects. Devuelve un String con la información sobre los parámetros del informe. El método recibe el siguiente argumento: docname: Nombre del informe sobre el que se desea conocer los parámetros. A continuación se muestra un ejemplo de código que muestra los parámetros de un informe de la plataforma: CrystalFormBean.java public String mostrarparametrosinforme() throws ServiceException, IOException { String docname = "EJPLListadoEmpleadosParametro"; String salida = demofacade.muestraparametrosinforme(docname); AtlasFacesUtils.addInfoMessage("Parámetros obtenidos correctamente: " + salida); return ""; Un ejemplo de String que devuelve el método sería el siguiente: Parámetro: codigo de tipo: NUMERIC y de Id: {?codigo. El Id que se muestra en esta cadena puede utilizarse posteriormente para llamar al método obtenerpdf u obtenerinforme indicando el valor de los parámetros. 3.2.2.2 Métodos obtenerpdf y obtenerinforme El método obtenerpdf del servicio BOService, nos permite obtener un objeto que contiene el informe de Crystal Reports convertido a formato PDF. Para llamar al método obtenerpdf, es necesario indicar los valores de los siguientes parámetros: docname: Nombre del informe que queremos obtener en PDF actions: Un array con una acción que contiene los datos sobre los parámetros del informe. Si se desconocen los parámetros que requiere el informe, puede utilizarse el método muestraparametrosinforme descrito en el apartado anterior. Existe un método más genérico llamado obtenerinforme que nos permite obtener el informe en cualquier formato, no sólo PDF. Para llamar al método obtenerinforme, es necesario indicar los valores de los siguientes parámetros: docname: Nombre del informe que queremos obtener en PDF actions: Un array con una acción que contiene los datos sobre los parámetros del informe. Si se desconocen los parámetros que requiere el informe, puede utilizarse el método muestraparametrosinforme descrito en el apartado anterior. Página 18 de 30

formato: El formato en el que se desea obtener el informe. El valor debe ser de uno de los tipos indicados por com.businessobjects.dsws.reportengine.outputformattype.outputformattype.enum Página 19 de 30

A continuación se muestra un ejemplo de código que obtiene un PDF de la plataforma pasándole un parámetro (Parámetro: codigo, Valor: 1) y lo guarda en un fichero local: CrystalFormBean.java import com.businessobjects.dsws.reportengine.action; import com.businessobjects.dsws.reportengine.binaryview; import com.businessobjects.dsws.reportengine.discretepromptvalue; import com.businessobjects.dsws.reportengine.fillprompt; import com.businessobjects.dsws.reportengine.fillprompts; import com.businessobjects.dsws.reportengine.outputformattype; public String guardapdfconparametro() throws ServiceException, IOException { String docname = "EJPLListadoEmpleadosParametro"; String filename = "test.pdf"; // Rellena el parámetro "codigo" del documento con valor 1 FillPrompts boprompts = FillPrompts.Factory.newInstance(); FillPrompt[] fillpromptlist = new FillPrompt[1]; fillpromptlist[0] = FillPrompt.Factory.newInstance(); fillpromptlist[0].setid("{?codigo"); DiscretePromptValue[] dpv = new DiscretePromptValue[1]; dpv[0] = DiscretePromptValue.Factory.newInstance(); dpv[0].setvalue("1"); fillpromptlist[0].setvaluesarray(dpv); boprompts.setfillpromptlistarray(fillpromptlist); // Obtiene el PDF pasándole los parámetros Action[] actions = null; actions = new Action[1]; actions[0] = boprompts; BinaryView bv = demofacade.obtenerpdf(docname, actions); // Otro ejemplo de cómo obtenerlo en formato Excel: // BinaryView bv = demofacade.obtenerinforme(docname, actions, // OutputFormatType.EXCEL); byte[] content = bv.getcontent(); FileOutputStream fos = null; try { fos = new FileOutputStream(fileName); fos.write(content); finally { if(fos!= null) { try { fos.close(); catch(exception e) { throw new ServiceException(e); AtlasFacesUtils.addInfoMessage("Fichero PDF generado correctamente"); return ""; Página 20 de 30

3.2.3 ACCESO A INFOVIEW SIN PASAR POR LA PÁGINA DE LOGIN Para acceder a la aplicación InfoView sin que pida la página de login, internamente se solicita un token de autenticación a la plataforma, y con este token se concatena a la URL de InfoView para que no solicite autenticación. En el caso de ATLAS, es suficiente con invocar a uno de los siguientes métodos del servicio BOService: public String obtenerurlinfoview(): Devuelve la URL que tenemos que utilizar para acceder a InfoView. Internamente, utiliza el usuario y la contraseña que hemos definido en el fichero de configuración environment.properties para autenticarse, y así devolver la URL que ya no nos pedirá autenticación. public String obtenerurlinfoview(string username, String password): Devuelve la URL que tenemos que utilizar para acceder a InfoView. Este método utiliza el usuario y la contraseña que se envían como parámetros para autenticarse, y así devolver la URL que ya no nos pedirá autenticación. Para el segundo método, es posible que necesitemos conocer el usuario que está actualmente autenticado en la aplicación (y su contraseña). Para obtener este usuario, consultar el manual del servicio de autenticación y autorización (Apartado Obtención de datos de usuario ). Página 21 de 30

4 USO DESDE UNA APLICACIÓN WEB JAVA CON FRAMEWORK 2 En este apartado se muestra el uso de informes desde una aplicación web escrita en Java con el Framework 2 de ICM. Para acceder a un informe publicado en la plataforma, es necesario previamente autenticarse a través de un servicio web. Una vez autenticado, es suficiente con abrir una dirección URL en un browser que apunte al documento indicado en la plataforma. 4.1 INSTALACIÓN Y CONFIGURACIÓN A continuación se describen los pasos para instalar los componentes necesarios para poder acceder a un informe publicado en la plataforma desde una aplicación web escrita en java: Paso 1: Descarga de las librerías Descargar de la web de soja la librería bo_lib.jar junto con sus dependencias e incluirlas en la aplicación. Estas librerías se encuentran en un zip que se puede descargar del apartado Arquitectura de Aplicaciones -> Framework 2 -> Librerías bo_lib. Paso 3: Actualización del fichero de configuración de la aplicación Para realizar la llamada al web service bo_ws y para usar el hay que incluir en el fichero de configuración las siguientes variables: Variables Descripción Valores que toma bo_ws.webservice Apunta a la url del Web Sevice bo_ws http://desarrollo.madrid.org/bo_ws/services/serviciows bo_ws.nombreservidor bo_ws.puerto bo_ws.usuario Servidor de la plataforma de BO Enterprise Puerto por el que acceder al servicio opendocumet Usuario con el que nos conectaremos a la plataforma de Business Objects. icmdesbi01 8080 Usuario de autenticación con la plataforma BO bo_ws.clave Clave del usurio encriptada. contraseña encriptada Paso 4: Página de redirección Se tendrá que incluir el fichero redireccion.jsp en el directorio WEB-INF/jsp de la aplicación. Dicho fichero está también publicado en la web de soja, en el apartado Arquitectura de Aplicaciones -> Framework 2 -> Recursos Adicionales. 4.2 USO Una vez publicado un informe en la plataforma BO, y configurada la aplicación java, para poder abrirlo desde esta tenemos que proceder con los siguientes pasos: Página 22 de 30

Paso 1: Autenticación mediante llamada al servicio web Hay que realizar la llamada al servico web bo_ws para que nos devuelva una cadena de texto (token) para poder acceder a la plataforma corporativa Business Objects Enterprise. Para ello hay que invocar al método indicado en el siguiente fragmento de código: String usuario = Config.get("bo_ws.usuario"); String clave = Config.get("bo_ws.clave"); String logontoken = null; try { logontoken = bo_lib.cliente.serviciowsservicebo.llamadagenerartoken(usuario, clave); catch (BOException e) { Trazas.imprimeErrorExtendido(e); throw new AccionException("Error al invocar el webservice"); Atención Observar que el usuario y la contraseña encriptada se están leyendo del fichero de configuración de la aplicación. Paso 2: Llamada a la plataforma Business Objects mediante la URL de opendocument Una vez que hemos obtenido el token que nos autentica con la plataforma, es suficiente con acceder a la URL del servicio opendocument de la plataforma de BO, indicándole el documento que deseamos abrir, así como los parámetros que recibe. Para más información sobre el uso del servicio opendocument de la plataforma de BO (paso de parámetros a documentos, etc.), consultar el documento Viewing Reports and Documents using URLs en la siguiente URL: http://help.sap.com/businessobject/product_guides/boexir31/en/xi3-1_url_reporting_opendocument_en.pdf 4.2.1 Ejemplo completo de Uso Se pueden ver varios ejemplos de uso en la aplicación de ejemplo ejpl_bo_web, en las siguientes acciones escritas en java: Autenticacion.java: Ejemplo de autenticación contra el servicio web. Página 23 de 30

package ejpl_bo_web.acciones; import sistemas.framework.acciones.claseaccion; import sistemas.framework.excepciones.accionexception; import sistemas.util.config; import sistemas.util.trazas; import bo_lib.exception.boexception; public class Autenticacion extends ClaseAccion { public static final String NOMBRE_VISTA = "redireccion"; public Autenticacion() { public String procesar() throws AccionException { String usuario = Config.get("bo_ws.usuario"); String clave = Config.get("bo_ws.clave"); String servername = Config.get("bo_ws.nombreServidor"); String serverport = Config.get("bo_ws.puerto"); String docname = "EJPLPrueba"; String urlrequest = null; String logontoken = null; try { logontoken = bo_lib.cliente.serviciowsservicebo.llamadagenerartoken(usuario, clave); catch (BOException e) { Trazas.imprimeErrorExtendido(e); throw new AccionException("Error al invocar el webservice"); urlrequest = "http://" + servername + ":" + serverport + "/OpenDocument/opendoc/openDocument.jsp?sType=rpt&sDocName=" + docname + "&soutputformat=p" // P=pdf, H=html, E=excel, W=word + "&token=" + logontoken; request.setattribute("uri", urlrequest); Trazas.impLog("sale de Autenticacion"); return NOMBRE_VISTA; ReportParametros.java: Ejemplo de llamada a opendocument con parámetros Página 24 de 30