INFORMES CON REPORTS BUILBER Versión 1.0 Área de Aplicaciones Especiales y Arquitectura Software Informes con Report Builder Manual del desarrollador Hoja de Control Título Informes con Reports Builder Documento de Referencia Responsable Área de Aplicaciones Especiales y Arquitectura Software Versión 1.0 Fecha Versión 28/01/2013 Registro de Cambios Versión 1.0 Causa del Cambio Versión inicial del documento que proviene del documento Todo sobre Reports10g Responsable del Cambio Área de Integración y Arquitectura de Aplicaciones 1.1 Página 2 de 9 Fecha del Cambio Informes con Report Builder Manual del desarrollador Índice 1. INTRODUCCIÓN ...................................................................................................................................................4 1.1 1.2 2 AUDIENCIA OBJETIVO .................................................................................................................................4 CONOCIMIENTOS PREVIOS ........................................................................................................................4 DISEÑO DE REPORT ...........................................................................................................................................4 2.1 SALIDA PDF .......................................................................................................................................................4 2.2 SALIDA CSV, XLS Y TXT ................................................................................................................................4 2.3 SALIDA XML .....................................................................................................................................................5 3 EJECUCIÓN DE INFORMES DE REPORT BUILDER ...................................................................................5 4 EJECUCION DE REPORTS POR TIPO .............................................................................................................6 5 VISUALIZACIÓN DE INFORMES .....................................................................................................................7 6 FICHERO .INI DE LA APLICACIÓN.................................................................................................................8 7 (ADMINISTRACIÓN) DISTRIBUCIÓN DE TRABAJOS EN DISTINTAS MÁQUINAS EN REPORTS 69 8 COLAS DE EJECUCION ......................................................................................................................................9 Página 3 de 9 Informes con Report Builder Manual del desarrollador 1. INTRODUCCIÓN Documentación acerca de la utilización de Report Builder en las aplicaciones de la Comunidad de Madrid. 1.1 AUDIENCIA OBJETIVO Este documento va dirigido a jefes de proyecto, analistas y desarrolladores de proyectos que utilicen Forms v6 o Forms v10. 1.2 CONOCIMIENTOS PREVIOS Para un completo entendimiento del documento, el lector deberá tener conocimientos previos sobre las siguientes tecnologías: Oracle Forms Report Builder 2 2.1 DISEÑO DE REPORT SALIDA PDF En el diseño de reports se ha de tener en cuenta las siguientes consideraciones para que el listado se presente con un tamaño estandar dependiendo de la orientación a elegir: Unidad de medida: Centímetros En las distintas secciones del report [Cabecera, Principal, Cola]: Listado apaisado (orientación Landscape): Ancho: 29.7 cm Altura: 21 cm Listado vertical (orientación Portrait): Ancho: 21 cm Altura: 29.7 cm Como visor estandar de PDF's se aconseja utilizar el Acrobat v4.05c (en adelante) 2.2 SALIDA CSV, XLS y TXT En la construcción de reports para salida csv, xls y txt hay que: 1.- Crear en el Modelo de Datos los Objetos Sql en orden a como tienen que salir en el informe, es decir: - Primero un Objeto Sql cuyo grupo podemos nombrar como TITULO, con lo siguiente: SELECT NULL FROM DUAL , en el campo Null en las propiedad Etiqueta XML indicaremos el Título del Informe, añadirá una línea a continuación con el valor que hemos puesto en éste caso en blanco ya que hemos Página 4 de 9 Informes con Report Builder Manual del desarrollador puesto Null, si se quiere se puede poner otro valor SELECT 'A' FROM DUAL WHERE ROWNUM=0 en el campo A en la propiedad Etiqueta XML indicaremos el Título del Informe, aquí no añadirá ninguna línea depués del título Segundo un Objeto Sql con la Select de Datos Necesarios Sucesisvos Objetos Sql con la Select de Datos Necesarios Con ésto conseguimos que en el Informe resultante los datos aparezcan en el orden que hemos definido. Si no lo hacemos así, saldrán los datos con otro Orden, aunque en el Modelo de Diseño aparezca en el orden correcto 2.- No es necesario crear un Modelo de Diseño. ya que omite todo lo que contenga Para indicar el Nombre de los campos en el Informe , tendremos que ir al Modelo de Datos posicionarnos en las propiedades del campo y en la Propiedad Etiqueta XML indicaremos el Nombre de Campo que queramos 3.- Tanto a nivel de campo de Modelo de Datos como de Grupo podemos utlizar la propiedad Excluir de Xml a Si para no visualizar los campos de un objeto Sql Observación: En el mantenimiento del Report hay que tener en cuenta que al borrar o crear nuevos objetos sql puede variar el Orden de los datos. 2.3 SALIDA XML En la construcción para salida XML no es necesario crear un Modelo de Diseño, ya que omite todo lo que contenga 3 EJECUCIÓN DE INFORMES DE REPORT BUILDER Se ha establecido un método común para la ejecución y posterior visualización de Informes utilizando la herramienta de Report de Oracle „ReportBuilder‟. Inicialmente hay que distinguir entre los dos tipos de ejecución bajo los cuales actualmente pueden correr nuestras aplicaciones: - Web - Cliente/Servidor Windows (solo para Formsv6i) y que debe quedar correctamente establecido en el fichero de .ini de la aplicación mediante la utilización del siguiente parámetro: TipoEjecucion=Web / Windows (con uno de estos dos valores) Página 5 de 9 Informes con Report Builder Manual del desarrollador La ejecución se realizará de igual modo independientemente del ámbito en el que nos encontremos mediante la llamada al procedimiento ‘EJECUTAR_REPORT’ con los siguientes parámetros: EJECUTAR_REPORT ( WReport in varchar2, WDes_Report in varchar2, WParam in varchar2, WCola in varchar2 ); WReport .- Nombre del objeto ReportObject WDes_Report.- breve descripción del informe WParam.- parámetros que se enviarán para la ejecución del report (a nivel de REPORT_OTHER) Por ejemplo aquellos parámetros tipo filtro enviados en tiempo de ejecución. WCola .- nombre de la cola bajo la cual se lanzará el report Las colas han de estar definidas en el fichero .ini de la aplicación como por ejem. Cola1=ReportsServer1 Cola2=ReportsServer2 por defecto (si el valor es NULL) este parámetro tomará siempre el valor de „Cola1' Nota: se ha observado que se producen problemas al ejecutar los Report‟s bajo Web si en el Forms Parámetros del Informe no se rellena el param. „Servidor de Informes‟ con algún valor (el que sea) ya que el Servidor de informes a utilizar, como se explica anteriormente, se recoge del parametro Wcola en la ejecución del Report mediante el procedimiento EJECUTAR_REPORT. 4 EJECUCION DE REPORTS POR TIPO En la librería ICM_PLL está disponible el Procedimiento EJECUTAR_REPORT_TIPO para Forms 10g Parámetros WREPORT: Nombre del objeto ReportObject WDES_REPORT: Descripción del Report (max. varchar2(60) ) WPARAM: Otros parámetros de ejecución WCOLA: Nombre de cola (ReportServer) por la que se lanzará el Report WTIPO : Formato del Fichero de Salida. Valores Válidos: CSV (Excel - Texto) XLS (Excel) RTF (Word) TXT (Texto) (Por defecto si no indicamos el delimitador utlizará una tabulación como delimitador) XML HTML PDF Página 6 de 9 Informes con Report Builder Manual del desarrollador WDELIMITER : Sólamente se tiene en cuenta con Tipo TXT , es el separador de campos si va a Nulo por defecto utiliza el tabulador WCELLWRAPPER: Sólamente se tiene en cuenta con Tipo TXT, engloba el valor del campo con el carácter indicado Z_FICH_OUT: Es un parámetro de Salida y devuelve el Nombre del Fichero generado WVISUAL_MENS: Valores Válidos S - Visualiza el Mensaje de Lanzado report a Cola de Impresión N - No visualiza el Mensaje Si se desea se puede omitir en la llamada al procedimiento éste parámetro, Tiene valor por defect S 5 VISUALIZACIÓN DE INFORMES Una vez lanzado el report, para la visualización del informe, hay que distinguir si estamos realizando la ejecución en entorno Web o Windows. Web.el report que acabamos de lanzar queda registrado en la tabla ‘F60_REPORTS’ para el usuario que ha realizado la petición (este usuario podrá consultar sus informes y los de los usuarios que pertenezcan al mismo perfil dentro de la aplicación). El tipo de fichero generado en Web es el estándar PDF y con nombre generado automáticamente por el procedimiento como YYYYMMDD_HH24MISS.pdf Para la visualización del mismo se ha creado un form ‘LIS_REP.fmx’ que permite consultar / borrar / actualizar informes automáticamente de modo autónomo en base al estado actual en el que se encuentren los mismos. El usuario tan sólo podrá visualizar aquellos informes cuyo estado sea finalizado (o probablemente finalizado por una caída de la máquina etc..) para lo cual se dispone de un campo „Estado del Informe‟ en el que se especifica si se encuentra encolado, finalizado, probablemente finalizado, en error etc. Pantalla LIS_REP.fmx : Página 7 de 9 Informes con Report Builder Manual del desarrollador Windows.en este tipo de ejecución nada más solicitar la ejecución del informe se procede a realizar una visualización del mismo por pantalla desde donde el usuario decidirá si lo imprime o no. 6 FICHERO .INI DE LA APLICACIÓN En el fichero .ini de la aplicación se incluye configuración específica para Report Builder necesaria para el procedimiento y form mostrados anteriormente [ReportBuilder] ; *** Parámetros válidos solamente para Reports bajo TipoEjecucion=Web ;*** Path en donde se ubicarán los ficheros PDF generados Report_cache=\\cifs04v3002\DESA_WEB\web_reps\ ;*** Path virtual para la localización de los ficheros PDF generados Report_mapping=/web_reps/ ;*** Colas de ejecución de Reports que se corresponderán con los Servidores de Reports existentes Cola1=REPLIGERAD01 ;Cola2=REPMEDIANAD01 ; *** Para realizar impresión directa de Pdf's desde el módulo LIS_REP.fmx Impresion_pdf=/impresionpdf/cgi-bin/ImpresionPDF.exe Página 8 de 9 Informes con Report Builder Manual del desarrollador 7 (ADMINISTRACIÓN) DISTRIBUCIÓN DE TRABAJOS EN DISTINTAS MÁQUINAS en REPORTS 6 Para la distribución de los servidores de reports en distintas máquinas se configurará a través del fichero: “tnsnames.ora” del equipo NT en donde se encuentre el FormsServer del siguiente modo: # Servicio sobre la propia máquina ReportServer,ReportServer.world=(ADDRESS=(PROTOCOL=tcp)(HOST=NTICMDES01)(PORT=1949)) # Servicio sobre máquina remota (detecta el servicio en NTICMPRO04 atraves del puerto) # (es necesario llevar los *.rep a la máquina remota NTICMPRO04) ReportServer4,ReportServer4.world=(ADDRESS=(PROTOCOL=tcp)(HOST=NTICMPRO04)(PORT=1949)) y posteriomente modificando simplemente el fichero de .ini de cada aplicación podemos distribuir los reports. Para ejecuciones en la propia máquina: Cola1=ReportServer o bien para ejecuciones en la máquina remota: Cola1=ReportServer4 8 COLAS DE EJECUCION Debido a la variedad de Reports que se pueden ejecutar sobre un servidor de Reports -ReportServer- bajo Web se ha de tener en cuenta desde la fase de desarrollo los recursos que se van a utilizar para su posterior ejecución. Para controlar desde producción la carga y balanceo de los distintos Reports utilizarán las colas de lanzamiento que actualmente se definen en el fichero de „ini‟ de la aplicación: Cola1=REPLIGERAD01 Cola2=REPMEDIANAD01 Cola3=REPPESADAD01 Cola4= REPESPECIALD01 Para realizar una correcta utilización del sistema paso a detallar las distintas colas que se crearán y el uso de las mismas en función del trabajo a realizar: Cola1.- Listados cortos de ejecución inmediata. Cola2.- Listados grandes de ejecución inmediata. Cola3.- Impresión controlada de trabajos en batch. Cola4.- Otro tipo de trabajos especiales que requieran de especial supervisión. De este modo conseguiremos que los trabajos se ejecuten en las mejores condiciones para todos. Página 9 de 9