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