Reportes Desde Apex Utilizando IReport

4
Reportes desde Apex utilizando iReport (Jasper Report Integration) Hola a tod@s!! 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!!... Requisitos:Tomcant 6.0 link: http://tomcat.apache.org/download-60.cgi 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. Antes de describir como pueden integrar apex 4.0 con jasperReport deben tener instalada la base de datos oracle (11g), el apex 4.0.Este proceso lo realice en dos maquinas windows de 32 y en otra de 64 bits. Pronto subiré la instación en linux. Paso 1: Instalar las jdk y el jre. 1. 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 2. 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) 1. Descompriman el JasperReportsIntegration-1.1.0.0.zip 2. 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.

description

manual

Transcript of Reportes Desde Apex Utilizando IReport

Page 1: Reportes Desde Apex Utilizando IReport

Reportes desde Apex utilizando iReport (Jasper Report Integration) Hola a tod@s!!

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!!...

Requisitos:Tomcant 6.0 link: http://tomcat.apache.org/download-60.cgi

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.

Antes de describir como pueden integrar apex 4.0 con jasperReport deben tener instalada la

base de datos oracle (11g), el apex 4.0.Este proceso lo realice en dos maquinas windows de

32 y en otra de 64 bits. Pronto subiré la instación en linux. Paso 1: Instalar las jdk y el jre.

1. 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

2. 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)

1. Descompriman el JasperReportsIntegration-1.1.0.0.zip

2. 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.

Page 2: Reportes Desde Apex Utilizando IReport

3. 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

4. Cambia en propiedades la ejecución de manual a Automático, luego reiniciar

el Tomcat.

5. 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.

6. 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"

/>"

En donde:

"

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 "" ""

Page 3: Reportes Desde Apex Utilizando IReport

Pueden agregar Resource por cada una de las conexiones que se desee realizar. Reiniciar el

Tomcat

Paso 4: Instalar el iReport para realizar el diseño de la plantilla de su reporte.

1. 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

Paso 6: Ejecute en su navegador el siguiente TEST:

En la ruta http://[server

]:[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

7.1. En mi caso cree los siguientes items:

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

Page 4: Reportes Desde Apex Utilizando IReport

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

7.2: Luego deben crear un item con las siguientes caracteristicas:

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: ""

7.3: Luego en el page, se dirigen a HTML Header and Body Attribute, ahí pegan el

sigueinte script:

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