domingo, 27 de septiembre de 2009

IReport y Jdeveloper 10g parte 1

JDeveloper 10.1.3.4.0

IReport 2.0.4


1. El esquema que utilizare es algo sencillo, a ver:












El codigo sql :

CREATE TABLE TBAREA
(
IDAREA NUMBER NOT NULL,
DESAREA VARCHAR2(100),
FECHACREACION DATE
)
;
CREATE TABLE TBPERSONAL
(
IDPERSONAL NUMBER NOT NULL,
PERNOMBRE VARCHAR2(100),
PERPATERNO VARCHAR2(100),
PERMATERNO VARCHAR2(100),
DIRECCION VARCHAR2(100),
IDAREA NUMBER
)
;
ALTER TABLE TBAREA
ADD CONSTRAINT TBAREA_PK PRIMARY KEY
(
IDAREA
)
ENABLE
;
ALTER TABLE TBPERSONAL
ADD CONSTRAINT TBPERSONAL_PK PRIMARY KEY
(
IDPERSONAL
)
ENABLE
;
ALTER TABLE TBPERSONAL
ADD CONSTRAINT TBPERSONAL_TBAREA_FK1 FOREIGN KEY
(
IDAREA
)
REFERENCES TBAREA
(
IDAREA
) ENABLE
;




2. Configurar el IReport
Debemos tener a la mano el driver de oracle (ojdbc14.jar) y colocarlo en la carpeta /home/JasperSoft/IReport-2.0.4/lib



Si no lo tienen cerca el driver, pueden buscarlo dentro de las librerias de su JDeveloper.
Ahora abriremos el IReport, y deben darle clic a options/classpath
Aparecera esta ventana:



















Dar clic al boton add Jar, buscar el driver oracle que antes pegamos en la carpeta lib del IReport.


Ahora darle clic al menu Data / Connections - Datasources


Aparecera una ventana , debes darle clic al boton "new".


En la nueva ventana seleccionar "Database JDBC Connection" y darle al next!

La parte final de la configuracion, deberas colocar los parametros de tu conexion, en mi caso es el siguiente:
























Eso finaliza nuestra parte de configurar el IReport con nuestro Oracle.

3. Ahora vamos a darle clic al menu File / new Document
Le damos un nombre y unas caracteristicas adicionales a nuestro reporte.






















Dar clic al menu Data / Report Query , ahora digitaremos un query sencillo:


SELECT A."DESAREA",
P."PERNOMBRE",
P."PERPATERNO",
P."PERMATERNO",
P."DIRECCION",
P."IDAREA" AS P_IDAREA,
P."IDPERSONAL" AS P_IDPERSONAL,
A."IDAREA" AS A_IDAREA,
A."FECHACREACION" AS A_FECHACREACION
FROM
"TBPERSONAL" P INNER JOIN "TBAREA" A ON P."IDAREA" = A."IDAREA"
WHERE
a.idarea= $P{idlocal}


Si nos fijamos el query tiene un parametro, asi que vamos a la parte inferior derecha del IDE, en el panel de "document structure" y le damos clic derecho parameters/add.


El nombre de nuestro parametro es IDLOCAL y el tipo de dato por defecto sera String.



Hasta este punto asegurese de guardar todos los cambios.



En el "document structure" es factible ver todos los elementos de la plantilla reporte que tenemos.



Dentro del elemento "pageHeader" agregamos un objeto tipo staticText, y le damos de texto "REPORTE DE PERSONAL", para modificar las fuentes, tamaño del texto, puede ver en la parte derecha el panel de properties.



El diseño del reporte es sencillo, si desea puede agregar una imagen como logo, o tambien un rectangle que haga mas vistoso el titulo, en este caso agregare un rectangle y dentro de el colocare un static text, con el texto "AREA". Al costado de este static text, arrastrare desde el document structure el FIELD "DESAREA".



En la plantilla tambien del reporte, tambien existe el componente "columHeader", aqui procederemos a colocar static text que representen titulos de campo de toda informacion que se imprimira.



Finalmente nuestro reporte tendria esta forma:













Como notara los campos "FIELDS" se han colocado en la parte denominada "detail", mientras que los titulos de los campos van en la parte de "ColumHeader".




Ejecutar : menu build/ execute (with active connection)




(procure que el parametro idlocal tenga activada la opcion "use a promt")




















En la carpeta principal del IReport, notara que se ha generado el archivo : mi_reporte_javix.jrxml

Este archivo es el que utilizaremos para generar los reportes en pdf o excel desde el JDeveloper.

Fuente: http://javixoracle.blogspot.com/

1 comentario:

Unknown dijo...

gracias por la info. Lo probé y funcionó. Ahora necesito configurar el datasource en el server de jasper.

te agradeceria si tenes info de como hacerlo.

gracias !!