Tuto Reports

17
Tutorial de oracle reports: Autor: Arturo T. [email protected] Oracle reports es una poderosa herramienta que tiene por objetivo el diseño y la generación de informes. Permite la creación de reportes en archivos jsp (Java Server pages), rdf, xml, rtf entre otros, pero siendo los más usados los anteriormente citados. De igual manera permite enviar el resultado de los informes a archivos de texto, pdf, html, xml, rtf, de texto delimitados, entre otros, lo cual permite su lectura y publicación en diversos formatos. Vamos a entrar en materia sobre este tema. Al igual que oracle forms, esta herramienta contiene un navegador de objetos desde el cual se puede acceder a cada uno de los elementos que conforman la definición de un reporte. En la figura 1, se pueden ver los elementos que componen un reporte. El modelo de datos es un área donde se define principalmente el contenido del reporte; es decir, la definición de consultas, cálculos, funciones que retornarán los datos para el respectivo informe. Disposición de papel, es un área donde se define principalmente la parte visual del reporte; es decir, se definen los tipos de letra, tamaños, ubicación de las columnas, colores, espacios, encabezados, y en general, todo aquello que tiene que ver con la presentación del informe. La pantalla de parámetros, es un área donde se puede personalizar la entrada de los parámetros al reporte. Por ejemplo, si se tiene un reporte acerca de los elementos vendidos por una empresa, pudiesen ser parámetros la fecha inicial y la fecha final para los cuales se desea conocer esta información. Disparadores de informes, es un bloque donde se definen acciones que se disparan principalmente antes de que el reporte sea generado o después de la ejecución del mismo dependiendo de las políticas del negocio. Unidades de programa y Bibliotecas conectadas al igual que oracle forms es un área donde se pueden definir en la primera, procedimientos, funciones, paquetes que pueden ser utilizados desde el modelos de datos, y en el segundo, enlaces a librerías o bibliotecas pll, donde se encuentren las funciones, procedimientos o paquetes. Fig 1. Elementos de un reporte A continuación vamos a ver estas áreas en detalle. Modelo de datos: Como se indicó anteriormente, esta área se encarga de la definición de los datos que serán mostrados en el informe. Para lo cual se necesita definir las consultas a las diferentes fuentes (tablas, vistas, procedimientos almacenados, archivos xml, módulos olap), definir las sumarizaciones y programar las funciones adicionales que pudieran ser necesarias en el informe. La figura 2, muestra las herramientas del modelo de datos.

Transcript of Tuto Reports

Page 1: Tuto Reports

Tutorial de oracle reports: Autor: Arturo T. [email protected] reports es una poderosa herramienta que tiene por objetivo el diseño y la generación de informes. Permite la creación de reportes en archivos jsp (Java Server pages), rdf, xml, rtf entre otros, pero siendo los más usados los anteriormente citados. De igual manera permite enviar el resultado de los informes a archivos de texto, pdf, html, xml, rtf, de texto delimitados, entre otros, lo cual permite su lectura y publicación en diversos formatos. Vamos a entrar en materia sobre este tema. Al igual que oracle forms, esta herramienta contiene un navegador de objetos desde el cual se puede acceder a cada uno de los elementos que conforman la definición de un reporte. En la figura 1, se pueden ver los elementos que componen un reporte. El modelo de datos es un área donde se define principalmente el contenido del reporte; es decir, la definición de consultas, cálculos, funciones que retornarán los datos para el respectivo informe. Disposición de papel, es un área donde se define principalmente la parte visual del reporte; es decir, se definen los tipos de letra, tamaños, ubicación de las columnas, colores, espacios, encabezados, y en general, todo aquello que tiene que ver con la presentación del informe. La pantalla de parámetros, es un área donde se puede personalizar la entrada de los parámetros al reporte. Por ejemplo, si se tiene un reporte acerca de los elementos vendidos por una empresa, pudiesen ser parámetros la fecha inicial y la fecha final para los cuales se desea conocer esta información. Disparadores de informes, es un bloque donde se definen acciones que se disparan principalmente antes de que el reporte sea generado o después de la ejecución del mismo dependiendo de las políticas del negocio. Unidades de programa y Bibliotecas conectadas al igual que oracle forms es un área donde se pueden definir en la primera, procedimientos, funciones, paquetes que pueden ser utilizados desde el modelos de datos, y en el segundo, enlaces a librerías o bibliotecas pll, donde se encuentren las funciones, procedimientos o paquetes.

Fig 1. Elementos de un reporte A continuación vamos a ver estas áreas en detalle.   Modelo de datos: Como se indicó anteriormente, esta área se encarga de la definición de los datos que serán mostrados en el informe. Para lo cual se necesita definir las consultas a las diferentes fuentes (tablas, vistas, procedimientos almacenados, archivos xml, módulos olap), definir las sumarizaciones y programar las funciones adicionales que pudieran ser necesarias en el informe. La figura 2, muestra las herramientas del modelo de datos.

Fig 2. Herramientas del modelo de objetos

Page 2: Tuto Reports

  La herramienta columna de resumen Permite definir operación de sumarización tales como conteo, suma, promedio, valor máximo, valor mínimo, varianza, desviación estándar, entre otras, cuya columna resultante podrá ser incorporada en el informe. Para el mismo ejemplo del informe de ventas, pudiera ser necesario incluir al final de cada día el valor total vendido, y al final del rango seleccionado, el valor total vendido y valor promedio; para lo cual podría ser utilizada esta herramienta.   La herramienta columna de formula Permite la incorporación de bloques plsql para la definición de procedimientos y funciones adicionales, que pueden ser necesarias para el calculo de operaciones específicas. El valor retornado por esta columna también puede ser mostrado en el reporte. Volviendo al ejemplo de las ventas, supongamos que se necesita comparar si el total vendido por día supera un valor X, en cuyo caso la empresa no debería “preocuparse”; pero si las ventas no superan ese valor X, entonces ¡oh que pasa?! Para esto, el reporte puede incluir una columna que compare el valor total con el valor X y si valortotal >=X entonces retorne “no hay problemas”, pero si valortotal < X entonces retorne “en este día no nos fue muy bien”. Claro, este es un ejemplo de juguete que muestra un mínimo alcance de los que podría hacerse con columnas de formula. Si desea profundizar en plsql puede recurrir al manual de plsql La herramienta consulta sql Permite la edición de consultas sql, ya sea por intermedio del query builder o editando directamente el código sql (esta última opción me gusta más por cuanto permite apropiarse directamente del lenguaje de consulta, para mas detalles sobre sql ver manual de sql )   Vamos a hacer un ejemplo en la herramienta para mostrar las anteriores tres herramientas: 1. Definamos la estructura de las fuentes de datos 2. Supongamos que se tiene la estructura de tablas: estructura.txt 3. Ahora bien, se desea generar un informe que muestre para cada alumno, las materias cursadas con su respectiva calificación 4. Ejecutamos la herramienta oracle reports, y procedemos a crear un nuevo informe. Estando en la ventana modelo de datos, seleccionamos la opción consulta sql y la colocamos sobre la hoja de edición (para esto basta con hacer clic sobre la herramienta y luego clic sobre el fondo de la hoja) Aparece una ventana solicitando la consulta que deseamos ejecutar. Es aquí donde disponemos de las dos opciones: usar el query builder o lanzarnos personalmente a escribir la consulta sql. Para el ejemplo usaremos el query builder. Para poder acceder al query builder es necesario validarse como usuario de la bd oracle, por lo tanto se debe registrar el nombre de usuario, contraseña y string de conexión. Una vez validada la conexión se muestra una lista de los objetos de que dispone el usuario (tablas, vistas, sinónimos, instantáneas), de la cual se deben seleccionar los objetos a usar en la consulta. En nuestro caso se seleccionarán las tablas alumno, materia e inscripción.

Luego, de esto, cliquear la opción incluir.

Page 3: Tuto Reports

Con lo anterior, se incluyen en la pantalla de query builder las definiciones de las tablas seleccionadas. Para nuestro ejemplo, vamos a seleccionar los campos como se muestra en la siguiente figura, que son básicamente, los campo que queremos mostrar en el informe: de la tabla alumno los campos id, nombre y apellido; de inscripción, los campos id_materia y calificación, y de la tabla materia deseamos mostrar el nombre de la materia. No se preocupe por las relaciones, la herramienta las construye automáticamente con base en las llaves foráneas definidas para cada tabla.  

  Luego cliquear aceptar, tenemos ahora la consulta sql lista! (Claro, si conocemos los detalles del lenguaje sql podemos escribir directamente la sentencia sin necesidad de llamar a don query builder)  

Y nuevamente aceptar para ver el modelo de datos generado. La siguiente figura muestra el grupo de datos generado a través de la consulta que se acaba de definir. El concepto de grupo es importante pues define la manera en que se mostrarán los datos posteriormente. En este caso solamente tenemos un grupo conformado por el id del alumno, el nombre y el apellido del alumno, el id de la materia el nombre de la materia cursada y la nota. Si el alumno cursó 10 materias, algunos de estos datos como id, nombre y apellido del alumno se repetirán las 10 veces.

  Aquí sería necesario implementar una forma de ver el reporte a manera maestro – detalle. Para dividir este grupo en dos grupo sólo basta con seleccionar los campos que hacen parte del detalle y llevarlos fuera del grupo (o sacarlos del grupo), con lo que nos quedaría algo así:

Page 4: Tuto Reports

Agreguemos ahora una columna de resumen que nos muestre el promedio de las calificaciones obtenidas por cada alumno. Para esto, seleccionamos la herramienta columna resumen y la colocamos dentro del primer grupo (el grupo del alumno), y colocamos otra columna resumen fuera de los grupos (CS_2), con lo que nos queda algo así:

Vamos a explicar qué queremos al incluir dos columnas de resumen CS_1 y CS_2, se puede ver que CS_1 es un resumen a nivel del grupo G_Nombre y lo que queremos con CS_2 es tener un resumen a nivel de todo el reporte. Es decir, queremos un resumen del promedio de calificaciones por alumno y un resumen del promedio general. Ahora bien, seleccionamos el campo CS_1 y abrimos la ventana de propiedades (botón derecho del mouse – opción inspector de propiedades) y fijamos los valores como lo indica la siguiente figura:

Como puede verse, para la propiedad función permite seleccionar de una lista de operaciones(conteo, suma, valor máximo, …). La propiedad origen indica el campo que interviene en el resumen La propiedad Restablecer en, indica en este caso que por cada alumno hará la operación definida. En conclusión, se hallará el valor promedio del campo calificación por cada alumno.   Ahora, seleccionamos el campo CS_2, nuevamente abrimos la paleta de propiedades y fijamos los siguiente valores

Page 5: Tuto Reports

En esta configuración, le estamos indicando que el resumen debe hacerse a nivel de todo el reporte, y vamos a promediar los promedios de los estudiantes.   Listo. Ahora únicamente nos falta generar la parte visual de nuestro reporte. Para esto seleccionamos la opción programa/ejecutar disposición de papel. Este asistente ayuda a configurar la parte visual del reporte y lo concerniente a los datos. Una de los pasos dentro de este asistente, es la definición del estilo de reporte a crear. Para neutro ejemplo, señalaremos la opción agrupar arriba . Haciendo clic en siguiente, se edita el origen de datos (el cual ya definimos), luego la pestaña datos en donde se seleccionan los campos que se desean mostrar en el informe. No siempre querremos que todos los campos en la cláusula select sean mostrados. Lo grupos ya están definidos. Finalmente, si desea generarse el reporte con alguna plantilla, ésta puede ser seleccionada, o si por el contrario no se desea usar plantilla, también existe la posibilidad de seleccionar ésta decisión.  

  Listo, una vez terminado el asistente, nuestro reporte se vería:

Page 6: Tuto Reports

Muy bien, ahora el trabajo es únicamente poner bonito nuestro informe. Desde el navegador de objetos, entrar al área de disposición de papel y allí personalizar el reporte en cuanto fuente, colores, ubicación (esta primera entrega no se extiende la explicación del área disposición del papel. Ésta se hará más adelante en otra entrega) La herramienta Enlace de datos Permite enlazar campos entre diferentes consultas. Si se tienen 3 consultas a, b y c, y de a a b existe un enlace, y entre a y c existe otro enlace, se ejecuta primero la consulta a, luego la consulta b y luego la consulta c, enlazando por el campo definido. Un ejemplo que ilustra esta idea sería: se tienen varias tablas que modelan la hoja de vida de una persona, una tabla PERSONA guarda los datos personales (idPersona, nombre, apellido, fecha_nacimiento,..), otra tabla ESTUDIOS guarda los estudios que ha realizado cada persona (cuyos campos podrían ser idPersona, tipoEstudio, TituloObtenido, Duracion,.), otra tabla EXPERIENCIA guarda la historia de los empleos de cada persona (los campos para esta tabla podrían ser idPersona, empresaLaboró, duracion, cargo, .), otra tabla PRODUCCIÓN guarda los escritos, trabajos, investigaciones realizadas por cada persona. Suponiendo que se necesita imprimir la hoja de vida de cada persona, se pueden definir 4 consultas para cada una de la tablas anteriores y luego hacer enlaces por el campo idPersona a fin de que las consultas filtren los datos para cada uno de los registros de la tabla persona. Para este ejemplo, la estructura del reporte sería: Datos personales: …… Estudios realizados: … Experiencia laboral: … ….Producción: …En la práctica, el ejemplo anterior se desarrollaría con los siguientes pasos:1. Teniendo en cuenta esta estructura de tablas. 2. Ejecutar la herramienta Oracle Reports, crear un nuevo informe.

Page 7: Tuto Reports

3. En el modelo de datos, crear las siguientes 3 consultas sqla. select * from personab. select * from estudiosc. select * from empleosCon las cuales, que daría el modelo de atos así:

Ahora, usando la herramienta enlace, vamos a unir los campos las 3 consultas por el campo idpersona. El procedimiento es muy sencillo; solamente basta con tomar la herramienta enlace de datos (haciendo clic sobre ésta), luego unir los campos de las consultas, arrastrando el mouse desde el campo de la consulta origen hasta el campo de la consulta destino sobre el que queremos hacer el enlace. Para este caso desde el campo idPersona hasta el campo IdPersona1, y otro desde el campo IdPersona hasta el campo IdPersona2. El modelo de datos se vería ahora:

Page 8: Tuto Reports

Listo, ahora ejectiutando la disposicion del papel (estilo: agrupar arriba, grupos: grupo de persona transversal/desc, grupo de estudios descendente, grupo de empleos descendente, campos: seleccionarlos todos, plantilla: ninguna), y agregando unas cuantas etiquetas se tendría finalmente el siguiente informe:

Como puede verse, esta funcionalidad de enlace de datos, permite enlazar el resultado de varias consultas por uno o varios campos, mostrando en cada bloque de resultados, los respectivos registros asociados al campo enlazado. Suponiendo que para una persona X no existen registros en la tabla empleos, el bloque de empleos no se mostraría para esta persona X. La herramienta consulta jdbc

Page 9: Tuto Reports

Permite la definición de consultas sql, a fin de ser ejecutadas sobre fuentes de datos vía usando el driver jdbc; por lo tanto dichas fuentes pueden ser tanto oracle, como db2, access, mysql, sql server, etc. Lo más importante es esta opción es definir la cadena de conexión hacia la fuente de datos a utilizar. En síntesis, esta opción es muy aconsejable cuando se desean incorporar datos que no se tienen dentro de nuestra bd oracle, pero que igualmente son importantes en para nuestro negocio. Realicemos la siguiente práctica para ver el funcionamiento de consultas jdbc: 1. Vamos a crear una base de datos en Microsoft Access llamada tarifa.mdb Creamos una tabla llamada tarifa con los siguientes campos cod_tarifa (tipo de dato numérico), valor (tipo de dato numérico) Procedemos a poblar dicha tabla con algunos valores   2. Luego, creamos una fuente de datos ODBC (para los sistemas Windows, ingresar al panel de control) llamada miodbc_tarifa que tenga como fuente el archivo tarfa.mdb que acabamos de crear en el punto anterior.   3. Ejecutamos la herramienta oracle reports, creamos un nuevo informe, y desde el modelo de objetos, tomamos la herramienta consulta jdbc y la colocamos en la hoja de edición. Una vez hecho esto, aparece un cuadro de diálogo solicitando la consulta sql a ejecutar y la conexión a usar. En el cuadro para consulta escribiremos select * from tarifa

  para definir la conexión hacemos clic sobre el botón conectar, lo cual muestra otro cuadro de dialogo para especificar los parámetros de conexión a nuestro ODBC.

Page 10: Tuto Reports

seleccionamos como tipo de controlador jdbc-odbc y en el cuadro base de datos escribimos el nombre asignado al ODBC miodbc_tarifa Listo, ahora clic en conectar, y luego aceptar. Si no existen problemas de sintaxis en la consulta SQL y se definió adecuadamente el tipo de controlador y el nombre la base de datos, debería aparecer en el modelo de datos el siguiente modelo:

4. Solamente nos falta ahora, crear la parte visual o disposición de papel. Para esto diríjase a la opción programa/ejecutar disposición de papel, el cual le guiará este proceso.       La herramienta Consulta Texto Permite leer un archivo de datos en formato txt, log, separado por comas o con campos de longitud fija, y mostrarlos en el informe. Hay que tener en cuenta que esta opción sólo es utilizada en casos muy particulares ya que el acceso a archivos es una tarea computacionalmente costosa, lo que redunda en el tiempo de respuesta, y está directamente relacionado con el tamaño del archivo de datos. Veamos el ejemplo respectivo: 1. supongamos que se tiene el siguiente archivo de datos datos.txt (puede descargarlo y grabarlo en una carpeta de su pc) 2. ejecute la herramienta oracle reports y proceda a crear un nuevo informe. En el modelo de datos, seleccione la herramienta consulta texto y colóquela luego en la hoja de edición del modelo. El siguiente cuadro de diálogo aparecerá para definir el nombre de archivo que vamos a cargar y el tipo de archivo (log de servidor apache, archivo txt separado por comas o archivo txt separado por tabulaciones) Para este caso seleccionamos archivo txt separado por tabulaciones e indicamos la ruta completa del archivo de datos. Al finalizar, aplicamos aceptar para continuar.  

Page 11: Tuto Reports

  Luego puede verse en el modelo de datos algo así:

Solamente falta ahora crear la disposición de papel. Para esto proceder igual que en el ejemplo anterior. La herramienta consulta XMLBásicamente permite leer el contenido de un archivo .xml, basado en la definición de los datos incluída en el archivo .dtd. 1. Supongamos que se tienen el archivo de datos books.xml y el archivo de definicion de datos books.dtd 2. Ingresamos a la herramienta Oracle Reports y creamos un nuevo informe. Nuevamente, entrando al modelo de datos, seleccionamos ahora la herramienta consulta XML y la colocamos sobre la hoja de edición. Una vez colocada, se abre un cuadro de diálogo solicitando el nombre del archivo de definicion y el nombre del archivo xml que contiene los datos. Se selecciona entonces, primero el archivo de definicion de datos, y adicionalmente haciendo clic en lel boton seleccionar columnas, incluir las columnas de la consulta. Por último, se selecciona el archivo xml que contiene los datos(en nuestro caso, el archivo books.xml).

Page 12: Tuto Reports

Con lo anterior, el modelo de datos luce así:

Listo, como en los casos anteriores corresponde ejecutar el asistente de disposicion de papel y ya se tiene un reporte basado en contenido xml.Inclusión de parámetros de usuario en un reporte La mayoría de los reportes o informes, generalmente necesitan ejecutarse con base en las necesidades del usuario: generar el informe de ventas del mes de junio del 2005, los alumnos que aplicaron a un programa de licenciatura, las compras realizadas para el 2005, las ventas realizadas por un valor mayor a N, el número de antibióticos de marca X comprados durante el año 2004, etc. La inclusión de parámetros en reportes permite la ejecución del informe teniendo en cuenta las condiciones que especifica el usuario.Realmente, es muy sencillo incorporar el uso de parámetros en una consulta de un informe. Antes que todo se debe identificar el parámetro para el que el usuario debe fijar un valor y luego invocarlo desde la consulta en el modelo de datos. Oracle reports incluye un formulario de parámetros, el cual, básicamente es el conjunto de controles (cuadros de texto) donde el usuario ingresa los valores a cada parámetro antes de ejecutar el informe, y que puede ser modificado con el fin de personalizar la entrada/captura de los valores para dichos parámetros.Suponiendo que se tiene la tabla emp(employees del tradicional usuario scott) con la siguiente descripcion SQL> desc emp

   

EMPNO NOT NULL

NUMBER(4)

ENAME   VARCHAR2(10)JOB   VARCHAR2(9)MGR   NUMBER(4)HIREDATE   DATESAL   NUMBER(7,2)COMM   NUMBER(7,2)DEPTNO   NUMBER(2)y se desea crear un informe, que muestre los datos empleados dependiendo de su ingreso sararial(En este caso, la columna SAL denota salario).

Page 13: Tuto Reports

La siguiente consulta, muestra el nombre, el cargo y el salario de los empleados con ingreso salarial mayor a mil (1000) SELECT ename, job, sal FROM emp WHERE sal > 1000Sin embargo, se pudiera pensar también en generar un informe con los mismos datos para empleados con ingreso salarial mayor a 2000 o mayor a 500. Ya que el objetivo no es diseñar 3 informes diferentes, vamos a incluir un parámetro P_Salario, que será el valor ingresado por el usuario (1000,2000 o 500)Por lo anterior, la consulta SQL en el mdelo de datos del informe quedaría así: SELECT ename, job, sal FROM emp WHERE sal > :P_SalarioPuede notarse, que el valor 1000 fué cambiado por el parámetro P_Salario; los dos puntos que anteceden el nombre P_Salario, le indican a la herramienta que P_Salario es un parámetro. Dependiendo del valor que se introduzca para el parámetro P_Salario, se mostrarán los respectivos datos acordes con el valor fijado.Es importante tener en cuenta que el uso de parámetros puede hacerse en la clausula SELECT, en la clausula FROM,en la clausula WHERE, en la clausula HAVING, y ORDER BY.Entonces, si se desea saber los departamentos con una nomina mayor a 9000, se tendría la consulta SELECT deptno, sum(sal) as nominaDepto FROM emp GROUP BY deptno HAVING sum(sal) > 9000 y remplazando el valor que denota el valor de nomina minimo se tendría: SELECT deptno, sum(sal) as nominaDepto FROM emp GROUP BY deptno HAVING sum(sal) > :P_ValorNominaUna vez se ha colocado el anterior codigo sql en el modelo de datos, se crea el elemento P_valor nomina, el cual puede ser modificado desde el navegador de objetos - modelo de datos -parámetros del usuario

Accediendo a las propiedades del parámetro(botón derecho del mouse), se tiene:

Entre las propiedades que definen el parámetro se tienen: Tipo de dato: Indica si el tipo de dato a ingresar es varchar2, date o number. ëste debe corresponderse con el tipo de dato del campo con el cual se desea comparar (para nuesto ejemplo) o asegurarse de hacer la conversión de datos vía sql en la definicion de la consulta SQL en el modelo de datos. Ancho: Indica la longitud del valor para el parámetro.Valor Inicial: Es el valor por defecto que tiene el parámetro.Disparador de validación: Un bloque para opcionalmente escribir el codigo plsql que valide el dato ingresado. Por ejemplo, no ingresar una cantidad negativa.Lista de valores: Opción para definir los posibles valores que puede seleccionar para el parámetro(más adelante se hará una práctica para ejemplificar esta propiedad) Al ejecutar el informe se tiene el respectivo campo de texto para que el usuario ingrese un valor para el parametro P_valornomina, base para la ejecucion de la consulta.

Page 14: Tuto Reports

 Ahora bien, si se quisiera mostrar todos los datos de los empleados de un departamento en particular, el usuario debería ingresar el dato del departamento sobre el que quiere generar el informe. Pero el usuario final sabe el numero identificador de cada departamento? posiblemente NO. Se necesita entonces que el usuario solamente ingrese como numero de departamento, un numero que exista. Es en estas situacione, donde se puede configurar una lista de posibles valores para un parámetro. La consulta SQL para este informe sería: SELECT ename, job, sal, dname FROM emp e, dept d WHERE d.deptno = e.deptno and d.deptno = :P_deptNoLuego de incluir la anterior consulta SQL en el modelo de datos, procedemos a cambiar las propiedades del parámetro P_DEPTNOTipo de datos: NumberAncho: 5Lista de Valores: Seleccionar "Lista Select" e incluir la consulta SELECT deptno, dname FROM dept ,como lo muestra la siguiente figura:

Con lo anterior, se desea que los únicos valores posibles, de los que puede seleccionar el usuario, para el parámetro P_DEPTNO sean los números de departamento incluidos en la tabla DEPT.Ejecutando el reporte, la ventana de parámetros le permite seleccionar al usuario un valor de la lista definida anteriormente así:

Se puede notar, que incluir parámetros en un reporte, es una tarea fácil. Lo más importante es definir cuál(es) parámetro(s) se van a incluir y el tipode datos, a fín de evitar problemas en la ejecución del reporte por tipos de datos diferentes o por formatos diferentes(como en el caso de los parámetros de tipo date)   Configuración de parámetros del sistema A diferencia de los parámetros de usuario, los cuales permiten variar y configurar el contenido del informe, los parámetros del sistema permiten configurar aspectos sobre la forma del informe que será generado. Estos parámetros son fijados por defecto para todo reporte y no pueden ser borrados o renombrados; sus

Page 15: Tuto Reports

valores pueden ser configurados tanto en tiempo de diseño usando el navegador de objetos, como en tiempo de ejecución usando la ventana de parámetros o desde la linea de comandos. A continuación se dá una breve descripción de cada uno:COPIES: Indica el numero de copias a imprimir por cada informe (debe ser un numero entre 1-9999)DESFORMAT: o Formato del destino o de la salida. Puede ser PDF, HTML, HTMLCSS, RTF, XML o DELIMITED DESNAME: Parámetro que indica el nombre de la salida. Puede ser el nombre del archivo, el nombre de la impresora, el correo electronico. DESTYPE: Este parámetro indica el tipo de destino o tipo de dispositivo que captura la salida. Puede ser screen, file, printer, mail, sysout, cache, localfile o previewMODE: modo de ejecucion del informe. Puede ser character o bitmap ORIENTATION: Indica la dirección de la impresión. Puede ser landscape, portrait o default.PRINTJOBEjemplo: si se desea generar un pdf del resultado del informe, se deben configurar los parámetros de la siguiente manera:DESTYPE: file | DESFORMAT: PDF | DESNAME: miarchivo.pdfSi se desea enviar el resultado a una impresora con dos copias sería:DESTYPE: printer | DESFORMAT: dflt | DESNAME: elnombredelaimpresora | COPIES: 2 En general, para incluir un parámetro (ya sea de sistema o de usuario), en la ventana de parámetros, solamente basta con seguir estos pasos:1. Acceder al menÚ herramientas / creador de pantallas de parámetros2. Seleccionar de la lista, los parámetros que se desen incluir

3. Las etiquetas para cada parámetro pueden ser tambien modificadas si se desea.4. Aceptar los cambiosLa ventana de parámetros en tiempo de ejecución se verá: