Crear el archivo de diseño de informe

EGL utiliza la biblioteca de informes basada en Java de código fuente abierto JasperReports para crear informes. A menos que importe un archivo de diseño de trabajo (extensión jasper), necesitará crear o modificar un código fuente XML para el archivo de diseño. Para obtener información más detallada que la que se ofrece en este tema, consulte el siguiente sitio Web:

http://jasperreports.sourceforge.net

Puede utilizar un archivo con la extensión .xml para el código fuente, aunque esto puede ralentizar la compilación. JasperReports recomienda la extensión .jrxml.

Para añadir un documento de diseño a un paquete, siga estos pasos:
  1. Cree un documento de diseño de cualquiera de las maneras siguientes:
    • Utilice una herramienta de diseño JasperReports de terceros (como por ejemplo JasperAssistant o iReport). Asegúrese de que el archivo que crea tiene la extensión .jrxml.
    • Utilice un editor de texto para escribir información de código fuente XML de JasperReports en un archivo de texto nuevo y guarde el archivo con la extensión .jrxml.
  2. Coloque el documento de diseño XML en el mismo paquete EGL que el archivo controlador de informes y el manejador de informes de EGL opcional.
  3. Personalice el archivo fuente XML para que utilice uno de los siguientes orígenes de datos:
    • Si tiene una consulta de base de datos lo bastante simple y directa cree un informe de tipo DataSource.databaseConnection. Incluya la consulta SQL en el código fuente del archivo de diseño XML. El controlador de informes de EGL pasará la información de conexión a JasperReports.
    • Si necesita realizar operaciones de base de datos complejas o construir la sentencia SQL dinámicamente, cree un informe de tipo DataSource.sqlStatement. El controlador de informes de EGL incluirá la consulta SQL y pasará el conjunto de resultados a JasperReports.
    • Si los datos proceden de una ubicación que no es una base de datos, cree un informe de tipo DataSource.reportData. El controlador de informes de EGL pasará los datos de informe completos a JasperReports; no es necesaria ninguna información de conexión.

Las secciones que siguen describen aspectos específicos de los diferentes tipos de archivos fuente XML. Esta información describe casos muy simples; para obtener ejemplos más complejos, consulte el sitio Web de JasperReports mencionado anteriormente o la documentación de su herramienta de diseño (si decide utilizar una).

Archivos fuente EGL de tipo DataSource.databaseConnection

Incluya información de conexión en el archivo fuente EGL y la consulta SQL en el código fuente del archivo de diseño XML. A continuación figura la sintaxis de un caso muy simple:
<queryString><![CDATA[SELECT * FROM
Nombre_Tabla]]></queryString> 
Nombre_Tabla
Nombre de una tabla de la base de datos.
Defina los campos específicos (asociados a columnas del conjunto de resultados SQL) que desea utilizar:
<field
name="Nombre_Campo" class="java.lang.tipo_clase"></field>
Nombre_Campo
Un nombre de columna del conjunto de resultados de la consulta del archivo de diseño. Los nombres de campo deben ajustarse a los convenios de denominación de variables Java. Puede dar un alias a los nombres de columna de la sentencia SQL para manejar nombres duplicados, caracteres no permitidos (como por ejemplo ".")u otros conflictos.
tipo_clase
Una clase java.lang, como por ejemplo Integer o String, que identifica el tipo de datos al que Nombre_Campo hace referencia
Coloque los campos en el informe con un código TextFieldExpression:
<textFieldExpression
class="java.lang.tipo_clase"><![CDATA[$F{Nombre_Campo}]]></textFieldExpression>

Archivos fuente EGL de tipo DataSource.sqlStatement

Coloque la sentencia SQL en el archivo controlador de informes de EGL. Puede especificar la conexión explícitamente en el controlador de informes o utilizar la conexión por omisión del descriptor de construcción. En el archivo de diseño XML, defina los campos específicos que desee imprimir en el informe. Los nombres de campo hacen referencia a nombres de columna del conjunto de resultados de la sentencia SQL:
<field
name="Nombre_Campo" class="java.lang.tipo_clase"></field>
Nombre_Campo
Un nombre de columna del conjunto de resultados creado por la consulta en el controlador de informes de EGL. Los nombres de campo deben ajustarse a los convenios de denominación de variables Java. Puede dar un alias a los nombres de columna de la sentencia SQL si es necesario.
tipo_clase
Una clase java.lang, como por ejemplo Integer o String, que identifica el tipo de datos al que Nombre_Campo hace referencia
Coloque los campos en el informe con un código TextFieldExpression:
<textFieldExpression
class="java.lang.tipo_clase"><![CDATA[$F{Nombre_Campo}]]></textFieldExpression>

Archivos fuente EGL de tipo DataSource.reportData

En este caso no se utiliza una base de datos, por lo que no necesita una conexión ni una sentencia SQL, ni en el código fuente XML ni en el controlador de informes de EGL. En lugar de eso, defina los campos específicos que desea utilizar a partir de los registros creados en el controlador de informes de EGL:
<field
name="Nombre_Campo" class="java.lang.tipo_clase"></field>
Nombre_Campo
El nombre de un campo exactamente como se ha especificado en el archivo fuente EGL.
tipo_clase
Una clase java.lang, como por ejemplo Integer o String, que identifica el tipo de datos al que Nombre_Campo hace referencia
Coloque los campos en el informe con un código TextFieldExpression:
<textFieldExpression
class="java.lang.tipo_clase"><![CDATA[$F{Nombre_Campo}]]></textFieldExpression>

Compilar el código fuente del archivo de diseño XML

EGL compila automáticamente los archivos .jrxml que encuentra en el directorio de paquete de la carpeta fuente de EGL, siempre que se cumplan las siguientes condiciones:
  • El archivo .jrxml ha cambiado
  • El archivo .jrxml no contiene errores
  • El compilador javac está en la vía de acceso de ejecución

EGL coloca el archivo .jasper compilado en el directorio JavaSource\nombre_paquete paralelo a EGLSource\nombre_paquete. Cuando genere satisfactoriamente el controlador de informes de EGL, el producto colocará una copia enlazada del archivo .jasper en el directorio paralelo bin\nombre_paquete. Puede forzar la creación y copia del archivo .jasper seleccionando Proyecto > Construir todo o Proyecto > Borrar.

Si está creando un documento de diseño XML y un manejador de informes simultáneamente, consulte la sección Visión general del proceso de creación de informes de EGL para conocer las directrices. Para obtener un ejemplo que muestra cómo un documento de diseño XML obtiene un registro flexible de datos de informe del manejador de informes, consulte la sección Crear un manejador de informes de EGL.

Conceptos relacionadosVisión general de los informes de EGL
Visión general del proceso de creación de informes de EGL

Tareas relacionadas
Crear un manejador de informes de EGL
Escribir código para controlar un informe

Consulta relacionada
Biblioteca ReportLib de EGL
Tipos de datos en documentos de diseño XML

Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.