Reportes desde Apex utilizando iReport (Jasper Report Integration)
Espero que se encuentren muy bien. Ahora estoy aprendiendo apex y oracle asi que voy a compartirlo con ustedes, espero les sea útil. S
aludos, cualquier duda o sugerencia es bienvenida!!...
- Jasper Reports Integration v1.1.0.0 link: http://www.opal-consulting.de/apex/f?p=20090928:2:2707698194225308
- iReport 3.7.4 (Jaspersoft iReport Designer), es la herramienta utilizada para diseñar y crear la plantilla del reporte.
- Jdk 1.6, jre6 (pueden descargarlo desde la pagina oficial de oracle)
- ojdbc5.jar libreria de conexion entre el iReport y oracle. Esta t sirve para que pueda realizar tus plantillas.
- En las variables de entorno, crear en pathname: JRE_HOME con la ruta en donde tienen instalado ej jre, en mi caso es: C:\Program Files\Java\jre6
- En las varibales de entorno, agregar en su JAVA_HOME la ruta en donde tienen instalado el jdk, recuerden separados por ;(punto y coma), en mi caso es: ;C:\Program Files\Java\jdk1.6.0_19
Paso 2: Instalar tomcant 6.0La instalació
n es muy intuitiva, pero es importante si tienen instalado oracle en el puerto 8080, trabajar con otro puerto, en mi caso cambie el puerto por el 8181
Paso 3: Integración (Estos son los pasos mas importantes)
- Descompriman el JasperReportsIntegration-1.1.0.0.zip
- Copien los archivos: ojdbc14.jar, y el orai18n.jar ubicados en JasperReportsIntegration-1.1.0.0\lib en la carpeta del Tomcat6.0\lib. Puende ayudarse de las imagenes siguientes.
- Copie el archivo .war llamado JasperReportsIntegration, ubicado en el archivo descomprido JasperReportsIntegration-1.1.0.0\webapp. Este archivo colocar en la carpeta del Tomcat6.0\webapps, en mi caso ruta total es: C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps
- Cambia en propiedades la ejecución de manual a Automático, luego reiniciar el Tomcat.
- Dirigirse a la carpeta localhost ubicada en Tomcat 6.0\conf\Catalina\localhost, en mi caso es: C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\Catalina\localhost. Dentro de esta carpeta encontraran un archivo llamado: JasperReportsIntegration.xml, abrir para editarlo.
- En este archivo encontraran las configuraciones por defecto (Resource), pero debe ser configurado para la Base de datos que van a utilizar, así como para el usuario que tenga. Un ejemplo de un datasource es el siguiente:
"
auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:XE"
username="tita"
password="98iu"
/>"
"
auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@RUTA_CONEXION:PUERTO_DE_CONEXION:NOMBRE_DE_SU_BD"
username="NOMBRE_USUARIO"
password="CONTRASEÑA_USUARIO"
/>"
Esto pueden agregarlo sin eliminar los Resource por defecto, pueden hacerlo al final, pero siempre dentro del "" " "
Pueden agregar Resource por cada una de las conexiones que se desee realizar. Reiniciar el Tomcat
- Crear la conexión entre iReport y oracle, aqui utiliza el ojdbc5.jar
Paso 5: Copie los reportes en la carpeta Tomcat
6.0\webapps\JasperReportsIntegration\reports, en mi caso: C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\JasperReportsIntegration\reports
Al utilizar el iReport se generan dos archivos, uno .jrxml y el .jasper, el primero se lo utiliza cuando se desee editar la plantilla o reporte, y el segundo es el ejecutable del diseño, aqui
se llama al .jasper
]:[port]/JasperReportsIntegration
Observe la siguiente imagen. Escriba el nombre de la plantilla diseñada en la casilla _repName, seleccione el formato en el que desea exportar en la casilla _repFormat, el nombre de su base en Datasource en la casilla _dataSource, nombre del reporte en la casilla _outFilename, puede seleccionar el idioma y el tipo de codificación en las dos ultimas casillas.
El reporte se generará correctamente.
NOTA: Si al ejecutar se presenta el error de datasource desconocida esto significa que el Resource configurado en el archivo JasperReportsIntegration.xml es incorrecta. Modifiquela e intente nuevamente este test.
Paso 7: Puede importar la aplicación que se encuentra en la carpeta Apex dentro del JasperReportsIntegration-1.1.0.0, se llama f860_JasperIntegrationTest_1.1.0.0.sql, ahi pueden ver como generar los reportes desde apex.
Lo que hice para adaptarlo a mi aplicacion de apex es lo siguiente:
Para llamar desde apex al reporte necesitan crear
- P54_JASPER_URL_REPORTE, tipo hidden, con default value: http://direccion_servidor:8181/JasperReportsIntegration/report
- P54_NOMBRE_REPORTE, tipo hidden, con default value: (aqui el nombre de mi archivo .jasper)
- P54_BD, tipo hidden, con default value: (aqui va el nombre de su BD)
- P54_LOCATE, tipo hidden, con default value: es_EC
- P54_CODIFICACION, tipo hidden, con default value: UTF-8
- P54_FORMATO, tipo select list, con default value: STATIC2:pdf;pdf,word;rtf
- P54_TITULO, tipo text Field, con default value: Reporte
- P54_ADICIONALES, tipo hidden, con default value: :P54_ADICIONAL1 y el Default Value Type: PL/SQL Expresion
- P54_REPORT_URL, tipo hidden, con default value: http://direccion_servidor:8181/JasperReportsIntegration/report?_repName=report_Becas2&_repFormat=pdf&_dataSource=ECUADOR&_outFilename=&_repLocale=de_DE&_repEncoding=UTF-8parameter1=:P54_ADICIONAL1
- Display As: Display Only
- Begin on new line: No
- Template: No label
- Source:
- - Source USed: Only when current value in session state is null
- - Source Type: Static Assignment (value equals source attribute)
- - Source value or expression: ""
Debe recordar que yo solo utilice un parámetro, pero pueden agregar mas parametros, agregarlo en ambas funciones.
Utilizo también un boton buscar que es submit para cargar el reporte en apex, ahi se actualizan los datos de mi reporte, y luego al hacer clic
en el botón generar reporte, recoge los valores de mi campo P54_REPORT_URL.
Importante:
* El manual que utilice es el siguiente: http://www.apexninjas.com/blog/f?p=100:1:420044564712244::::P1_ARTICLE:2080
Comentarios
rleon@senati.edu.pe
Saludos,
Rommel León
Saludos..
Roberto
http://www.youtube.com/watch?v=txGLdomSvQQ
http://www.youtube.com/watch?v=1t5iFNKHRBo
Estoy siguiendo tu tutorial, sin embargo una vez que trato de generar el reporte, me envía un error.
Ya verifiqué que el nombre de la conexión sea correcta y nada. ¿Podrías ayudarme?
Gracias!
Mi correo es manolomel1@hotmail.com
Gracias un saludo.
Intento descargar los archivos Jasper Reports Integration v x.x.x de OPAL sin éxito, no se si tu tengas algún archivo que me puedas compartir (dacs.math@gmail.com). Te quedaré muy agradecido. Saludos desde Quito. Diego.