Download Utilización Crystal Reports 2008 Usando Bussiness Object V4.0
Document related concepts
no text concepts found
Transcript
Utilización Crystal Reports 2008 Usando Bussiness Object V4.0 Versión 1.0 Área de Aplicaciones Especiales y Arquitectura de Software Framework Atlas Crystal Reports 2008 Hoja de Control Manual de Usuario de Utilización de Informes de Crystal Reports 2008 usando Bussiness Object V4 Título Documento de NORMATIVA ATLAS Referencia Responsable ICM Versión 1.0 Fecha Versión Fecha 1 Revisado/Validado por: 2 12/01/2014 Revisión/Validación Aprobado por: Fecha Aprobación Registro de Cambios Versión Causa del Cambio Responsable del Cambio Fecha del Cambio Área de Aplicaciones Especiales y 1.0 Versión inicial del documento Arquitectura de Software Página 2 de 23 12/01/2014 Framework Atlas Crystal Reports 2008 Índice 1 INTRODUCCIÓN ................................................................................................................................................................ 4 1.1 1.2 2 AUDIENCIA OBJETIVO .............................................................................................................................................. 6 CONOCIMIENTOS PREVIOS ...................................................................................................................................... 6 GENERACIÓN DE UN INFORME CON CRYSTAL REPORTS 2008 ......................................................................... 7 2.1 CONFIGURACIÓN DE CRYSTAL REPORTS 2008 ................................................................................................................. 7 Paso 1: Instalación de Crystal Reports 2008 ......................................................................................................................... 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 .............................................................................................................................................. 9 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 ...................................................................................................... 11 Paso 1: Seleccionar en el menú Archivo Guardar como ................................................................................................. 11 Paso 2: Selección de la carpeta ............................................................................................................................................ 11 3 USO DESDE UNA APLICACIÓN WEB JAVA CON FRAMEWORK ATLAS ......................................................... 13 3.1 INSTALACIÓN Y CONFIGURACIÓN ...................................................................................................................... 14 Paso 1: Inclusión de las librerías ......................................................................................................................................... 14 Paso 2: Inclusión de las variables en el fichero environment.properties ............................................................................. 14 Paso 3: Carga de los Beans de Spring de la librería, en fichero web.xml ........................................................................... 15 Paso 3: Inclusión del Bean de configuración de Spring en la Fachada ............................................................................... 16 Paso 4: Inclusión del servicio dentro de la clase Java de la Fachada ................................................................................. 17 3.2 USO .............................................................................................................................................................................. 18 3.2.1 VISUALIZACION DE INFORME EN UN BROWSER .......................................................................................... 18 3.2.2 OBTENCIÓN DE INFORME DESDE CODIGO .................................................................................................. 19 3.2.3 ACCESO A INFOVIEW SIN PASAR POR LA PÁGINA DE LOGIN .................................................................... 22 4 USO DESDE UNA APLICACIÓN WEB JAVA CON FRAMEWORK 2 ..... ¡ERROR! MARCADOR NO DEFINIDO. 4.1 INSTALACIÓN Y CONFIGURACIÓN ................................................................ ¡ERROR! MARCADOR NO DEFINIDO. Paso 1: Descarga de las librerías .......................................................................................... ¡Error! Marcador no definido. Paso 3: Actualización del fichero de configuración de la aplicación..................................... ¡Error! Marcador no definido. Paso 4: Página de redirección ............................................................................................... ¡Error! Marcador no definido. 4.2 USO ........................................................................................................................ ¡ERROR! MARCADOR NO DEFINIDO. Paso 1: Autenticación mediante llamada al servicio web ...................................................... ¡Error! Marcador no definido. Paso 2: Llamada a la plataforma Business Objects mediante la URL de openDocument ..... ¡Error! Marcador no definido. 4.2.1 Ejemplo completo de Uso ....................................................................................... ¡Error! Marcador no definido. 5 USO DESDE UNA APLICACIÓN FORMS ..................................................... ¡ERROR! MARCADOR NO DEFINIDO. 5.1 USO ........................................................................................................................ ¡ERROR! MARCADOR NO DEFINIDO. Paso 1: Autenticación mediante llamada a procedimiento almacenado ................................ ¡Error! Marcador no definido. Paso 2: Ejecución del informe ................................................................................................ ¡Error! Marcador no definido. 6 NORMATIVA PARA INFORMES .................................................................................................................................. 23 7 PREGUNTAS MÁS FRECUENTES ................................................................................................................................ 23 Página 3 de 23 Framework Atlas Crystal Reports 2008 Contenido 1 INTRODUCCIÓN Para utilizar informes de Crystal Reports 2008 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 23 Framework Atlas Crystal Reports 2008 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 Crystal Reports 2008: Publicación del informe, Autenticación en la Plataforma, y Apertura del informe: Página 5 de 23 Framework Atlas Crystal Reports 2008 1.1 AUDIENCIA OBJETIVO Este documento está orientado a toda aquella persona que desea utilizar informes de Crystal Reports 2008 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 Página 6 de 23 Framework Atlas Crystal Reports 2008 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 Crystal Reports 2008. 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 Crystal Reports 2008, crear un informe y posteriormente subirlo a la plataforma. 2.1 Configuración de Crystal Reports 2008 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 Crystal Reports 2008, es necesario realizar los siguientes pasos: Paso 1: Instalación de Crystal Reports 2008 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 23 Framework Atlas Crystal Reports 2008 … <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. Página 8 de 23 Framework Atlas Crystal Reports 2008 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: 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 23 Framework Atlas Crystal Reports 2008 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. Página 10 de 23 Framework Atlas Crystal Reports 2008 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: 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): Página 11 de 23 Framework Atlas Crystal Reports 2008 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 12 de 23 Framework Atlas Crystal Reports 2008 3 USO DESDE UNA APLICACIÓN WEB JAVA CON FRAMEWORK ATLAS En este apartado se muestra el uso de informes Crystal Reports 2008 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 Crystal Reports 2008 en aplicación de Componentes de ATLAS Página 13 de 23 Framework Atlas Crystal Reports 2008 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: Existen dos beans dispobibles que implementan la interfaz BOService bo4Service: implementación en la que para obtener el token hace una llamada al WS de Atlas atlas_ws_bo_v4 bo4LocalTokenService:implementación en la que obtiene el token en local y cachea la session 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-bo4-lib</artifactId> <version>${atlasfrm-bo4-lib.version}</version> </dependency>…… </dependencies> Paso 2: Inclusión de las variables en el fichero environment.properties para la implementación con token 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 para boService # Configuración de acceso a Business Objects – bo4Service bo4_ws.webservice=http://desarrollo.madrid.org/bo_ws/services/ServicioWS bo4_ws.rutabo=http://icmdesbi01:8080 bo4_ws.usuario=(Usuario) bo4_ws.clave=(Contraseña) environment.properties para bo4LocalTokenService # Configuración de acceso a Business Objects - bo4LocalTokenService bo4.nombreServidor=icmdesbi01 bo4.puerto=8080 bo4.cacheTimeout=60000 bo4.tipoAutenticacion= secEnterprise bo4.usuario=(Usuario) bo4.clave=(Contraseña) Página 14 de 23 Framework Atlas Crystal Reports 2008 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-bo4-lib.xml”): web.xml <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-bo4-lib.xml; </param-value> </context-param> Página 15 de 23 Framework Atlas Crystal Reports 2008 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 en el caso de usar bo4Service <!-- ==================== 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="bo4Service" /> </bean> applicationContext-services.xml en el caso de usar bo4LocalTokenService <!-- ==================== 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=" bo4LocalTokenService" /> </bean> Página 16 de 23 Framework Atlas Crystal Reports 2008 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 … 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 17 de 23 Framework Atlas Crystal Reports 2008 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 18 de 23 Framework Atlas Crystal Reports 2008 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 ""; } … 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. Página 19 de 23 Framework Atlas Crystal Reports 2008 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. 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 20 de 23 Framework Atlas Crystal Reports 2008 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 21 de 23 Framework Atlas Crystal Reports 2008 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 22 de 23 Framework Atlas Crystal Reports 2008 4 NORMATIVA PARA INFORMES A continuación se describen una serie de requisitos imprescindibles para nombrar y publicar los informes de Crystal Reports 2008 en la plataforma corporativa. Dichos requisitos garantizan la convivencia de informes de varias aplicaciones en la misma plataforma: NombreCarpeta: Todo proyecto que desee publicar informes de Crystal Reports 2008 en la plataforma de Business Objects de ICM para consultarlos utilizando openDocument deberá situar los informes en una carpeta en la plataforma que deberá llamarse igual que el identificador del proyecto (Ej: EJPL, SIGI, etc.). NombreInformes: Todo informe de Crystal Reports 2008 publicado en la plataforma deberá seguir la normenclatura: XXXXNombreDelInforme.rpt Esto implica los siguientes requisitos: - Debe comenzar con el código del proyecto - El nombre del informe debe estar escrito en minúsculas, excepto la primera letra de cada palabra que estará en mayúsculas. - El nombre del informe no debe contener espacios en blanco. Si el nombre se compone de varias palabras, estas irán seguidas unas de otras. - La extensión del informe debe ser “.rpt” UsuarioContraseña: El usuario y la contraseña de acceso a la plataforma serán específicos de cada proyecto, y para el entorno de desarrollo los proporcionará el área de aplicaciones especiales y arquitectura de software. Dicho usuario sólo tendrá acceso a la carpeta de informes de su proyecto. 5 PREGUNTAS MÁS FRECUENTES La lista de preguntas frecuentes se encuentra en el portal de arquitectura. Página 23 de 23