EGL puede producir informes basados
en la biblioteca de informes
basada en Java de código fuente abierto JasperReports. Para obtener detalles acerca de dicha biblioteca, consulte el siguiente sitio Web:
http://jasperreports.sourceforge.net
EGL no suministra ningún mecanismo para el diseño de informes. Debe hacer lo
siguiente:
- Importe un archivo de diseño JasperReports (extensión de archivo jasper); o
- Utilice un editor de texto o una herramienta especializada para crear un archivo
fuente XML JasperReports (extensión jrxml). El entorno de ejecución de EGL compila
automáticamente ese código fuente en un archivo de diseño .jasper; para obtener detalles
acerca de este proceso, consulte la sección Crear el archivo de diseño de informe.
A continuación figuran dos herramientas especializadas para crear un archivo de diseño:
El controlador de informes de EGL (que se escribe para controlar la producción de
informes) identifica el archivo de diseño JasperReports (extensión
jasper) y se
basa en él para diversas definiciones de formato:
- El archivo de diseño define fonts, cabeceras, pies de página, los campos que
aparecen en el informe, las posiciones de esos campos, los subtotales de esos campos y
otros componentes básicos del informe.
- Si utiliza una conexión de base de datos como origen del informe, el archivo de
diseño contendrá probablemente la consulta SQL.
- El archivo de diseño puede crear subinformes anidados para suministrar datos
adicionales para cada elemento de línea del informe. Consulte el apartado Crear
subinformes.
Durante la ejecución, el controlador de informes de EGL configura parámetros básicos
y, a continuación, pasa el control al motor de JasperReports. El motor de JasperReports
crea un archivo intermedio denominado archivo destino (extensión jrprint) y lo
rellena con datos de informe. En función de las especificaciones del archivo controlador,
el motor de JasperReports formatea a continuación los datos de informe para uno o varios
archivos exportados. El formato de los archivos exportados puede ser .pdf, .html, .xml,
.txt y/o .csv.
Si también codifica un manejador EGL de tipo JasperReport, el informe terminado puede
reflejar los eventos que se han producido a medida que el controlador de informes de EGL
rellenaba el informe con datos. Por ejemplo, puede producir contenido de informe dinámico
comparando subtotales de informe con información externa como, por ejemplo, estructuras
de comisión o reembolso de seguros.
Al escribir el código EGL que interactúa con un informe, realizará lo siguiente:
- Creará variables basadas en los componentes predefinidos Report y ReportData.
- Interactuará con el archivo de diseño invocando funciones desde la biblioteca de
sistema ReportLib, utilizando esas variables como argumentos en las invocaciones de
función