Вы находитесь на странице: 1из 88

CONTENIDO

INTRODUCCIN
2-2
CAPITULO 1 CONCEPTOS BSICOS
3-6
CAPITULO 2 CRITERIO PARA EL DISEO Y EJECUCIN DE REPORTES
CAPITULO 3 CREACIN DE UN REPORTE BSICO CON REPORT WIZARD
CAPITULO 4 DATA MODEL, DATA WIZARD, UERY-!ROUPS-LIN"S
CAPITULO # DATA MODEL COLUMNAS
CAPITULO 6 OBJETOS DEL LAYOUT
2$-2%
CAPITULO $ LAYOUT DE&AULT LAYOUTS
3'-3%
CAPITULO ( LAYOUT &RAMES, &IELDS Y BOILERPLATES
4'-4#
CAPITULO % PROPIEDADES COMUNES A LOS OBJETOS DEL LAYOUT
46-#2
CAPITULO 1' PROPIEDADES ESPEC)&ICAS DE CADA OBJETO DEL LAYOUT
#3-6'
CAPITULO 11 REPORTES TIPO MATRIZ Y SUMARIOS
61-6(
CAPITULO 12 REPORTES TIPO MATRIZ A*ANZADOS Y SUMARIOS
6%-6%
CAPITULO 13 CREACIN Y USO DE PARMETROS
$'-$4
CAPITULO 14 USANDO TRI!!ERS EN LOS REPORTES
$#-$(
CAPITULO 1# USANDO LOS EMPAUETADOS SRW
2-2
3-4
#-(
%-21
22-2(
2%-32
33-3#
36-41
42-46
4$-4%
#'-#6
#$-6'
61-63
64-$'
$1-$4
$#-$(
$%-($
AAOSA Oracle Reports 6i 1-88
$%-(3
CAPITULO 16 WEB WIZARD Y C+ART WIZARD, MEJORANDO LA
APARIENCIA
AAOSA Oracle Reports 6i 2-88
INTRODUCCIN
El objetivo de este curso es permitir al participante conocer la herramienta Oracle
Reports 6i para la creacin de una variedad de reportes, tomando como base los criterios
propios de una interfaz grfica (G!" # de aplicaciones $liente % &ervidor, combinando la
informacin residente en el &ervidor Oracle con archivos de distintos tipos residentes en
ambientes de usuarios' (ambi)n aprender acerca de las facilidades de generar reportes en
una variedad de formatos inclu#endo *(+,, -./ # modo carcter, adems de incrustar e
interactuar con mdulos tipo graphics en un reporte'
.urante el desarrollo del curso el participante aprender a0
$omprender la funcionalidad # terminolog1a de la herramienta'
.ise2ar reportes de diversos estilos0 tabular, maestro 3 detalle, matricial,
eti4ueta, carta, etc'
/ormatear la data seg5n los re4uerimientos de usuarios'
$rear reportes estilo .rill 3 .o6n'
Generar reportes en diversos formatos'
!ncorporar grficos # te7tos en los reportes'
R-./0102314 -,%&8, 9sico'
D/5670894 :; *oras'
AAOSA Oracle Reports 6i 3-88
1
CONCEPTOS BSICOS
1,1, DE&INICIN
Reports es una herramienta para la creacin # mantenimiento de reportes del set
de productividad Oracle denominado Oracle .eveloper'
1,2, CARACTER)STICAS
-ermite la presentacin de informacin de la 9ase de .atos, imgenes, sonido en un
ambiente grfico (G!"'
-ermite la integracin con otros productos Oracle como /orms, Graphics, etc'
-ermite la generacin de reportes en varios formatos'
-ermite la generacin de reportes en varios estilos'
Ofrece la posibilidad de utilizar -, % &8, en sus definiciones'
Reports puede ejecutarse en tres ambientes diferentes0 bitmapped, <eb # modo
carcter' =o obstante, los reportes son siempre dise2ados en ambiente grfico
(bitmapped"'
1,3, EJECUTABLES
,os principales componentes de Oracle .eveloper # sus correspondientes
ejecutables bajo la plataforma <indo6s, son los 4ue a continuacin se listan0
R-:352 B/0;<-5 =RWBLD6'>4 es el componente de dise2o # mantenimiento de
mdulos fuentes ('R./" de Oracle Reports 6'>'
R-:3521 R/920?- =RWRUN6'>4 es el componente encargado de ejecutar los
mdulos ejecutables de Oracle Reports 6'> ('RE-"'
R-:3521 C39@-52 =RWCON6'>4 para convertir mdulos entre diferentes formato'
R-:3521 B67AB53/9< E9B09-4 para controlar la ejecucin de reportes en el
cliente'
1,4, PRINCIPALES OBJETOS DE UN MDULO REPORT
,os objetos o componentes principales de Oracle Reports nos permiten definir un
mdulo de Reports' Estos pueden agruparse en tres categor1as funcionales0 objetos de
.ata +odel, objetos de ,a#out +odel # objetos de la forma de parmetros0
Objetos del .ata +odel0 define la data a incluir en el reporte0 4uer#, columnas,
grupos, parmetros # enlace de datos'
AAOSA Oracle Reports 6i 4-88
Objetos del ,a#out +odel0 define la posicin # apariencia de los datos # otros
objetos en el reporte0 frames, repeating frames, campos, botones, anclas,
grficos, boilerplate, etc'
Objetos de la /orma de -armetros0 define la apariencia de la forma de
parmetros e inclu#e objetos boilerplate # campos de la forma de parmetros'
1,#, EDITORES DE ORACLE REPORTS
-ara acceder #%o modificar los diferentes objetos de un mdulo de Reports, report
9uilder nos ofrece la paleta de propiedades # los editores' ,os editores son reas de
trabajo en las cuales podemos manipular directamente dichos objetos' Reports ofrece
una serie de vistas entre las cuales se puede navegar en cual4uier momento para
alcanzar el objetivo deseado0
.ata +odel ?ie60 nos permite definir # modificar objetos del data model'
,a#out +odel ?ie60 nos permite definir # modificar objetos del la#out model'
-arameter +odel ?ie60 nos permite crear la forma de parmetros0 pueden
asociarse parmetros del sistema 4ue #a e7isten o crear parmetros espec1ficos
del reporte'
,ive -revie6er0 proporciona una vista previa del reporte' @dems permite la
inspeccin # modificacin de la apariencia de la salida del reporte'
AAOSA Oracle Reports 6i 5-88
2
CRITERIO PARA EL DISEO Y EJECUCIN DE REPORTES
&e presentan en este cap1tulo los criterios 4ue deben ser tomados en consideracin
antes de dise2ar cual4uier reporte' ,os mismos orientarn al @nalista en la toma de
decisiones acertada para satisfacer los re4uerimientos de informacin de las aplicaciones'
El primer paso en la definicin de la estructura de un reporte consiste en identificar
el n5mero de veces 4ue cada conjunto de datos deber ser impreso' @ continuacin, estos
grupos de datos se separan seg5n su frecuencia, determinando al mismo tiempo la relacin
entre estos, de tal manera 4ue pueda establecerse una relacin o jerar4u1a dentro del
reporte'
na vez cumplido estos pasos, deben seleccionarse el estilo de reportes 4ue ms
se ajusta a nuestras necesidades'
2,1 TIPOS DE REPORTES
T6C/;654 este tipo de reporte contiene un grupo 5nico 4ue se imprime con la misma
frecuencia'
$digo del
(rabajador
=ombre &ueldo
@@@@@ @@@@@@@@@@@@@@ AAAAAAAAAAA
@@@@@ @@@@@@@@@@@@@@ AAAAAAAAAAA
R-:352- M6-1253 D D-26;;-4 este tipo de reportes contiene dos grupos relacionados
mediante una jerar4u1a 4ue se imprimen cada uno con una frecuencia diferente'
$liente
@@@@@@@@@@@@@@@@
$digo del -roducto .escripcin -recio de ?enta
@@@@@@ @@@@@@@@@@@@@@@ AAAAAAAAAAA
@@@@@@ @@@@@@@@@@@@@@@ AAAAAAAAAAA
$liente
@@@@@@@@@@@@@@@@
$digo del -roducto .escripcin -recio de ?enta
@@@@@@ @@@@@@@@@@@@@@@ AAAAAAAAAAA
@@@@@@ @@@@@@@@@@@@@@@ AAAAAAAAAAA
AAOSA Oracle Reports 6i 6-88
R-:352- M6250706;4 contiene cuatro grupos0 uno 4ue se imprime en sentido vertical en la
pgina, otro en sentido horizontal, un grupo sumarizado de interseccin # un cuarto
grupo denominado cross B product'
-roductos producto C producto n
$lientes
$liente C AAAAAAAAAAAA AAAAAAAAAAAA AAAAAAAAAAAA
$liente n AAAAAAAAAAAA AAAAAAAAAAAA AAAAAAAAAAAA
N3264 e7isten otros estilos de reportes 4ue sern cubiertos en lecciones posteriores'
2,2, RECUPERACIN DE LA IN&ORMACIN
,a data para el reporte es recuperada mediante una instruccin &8, &E,E$( a
la base de datos' E; 3CE-20@3 en este sentido -1 ?692-9-5 6; ?F90?3 -; 677-13 6 ;6
BDD vale decirD mientras menos 4ueries contenga el reporte, en general, ms rpido
debe ejecutarse' -or esto, los reportes 4ue contienen una jerar4u1a, pueden ser
resueltos con un acceso 5nico a la base de datos, o mediante varias sentencias
&E,E$(' En condiciones generales, es preferible utilizar un solo 4uer#'
EE-7/7089 <- R-:352-4 ,os reportes pueden ser ejecutados con el programa
R<R=6> desde0 un men5 de aplicacin, una forma hecha con /orms 6> usando
R=E-RO.$(, un botn en una forma, un icono de programa <indo6s (acceso
directo" o llamando al Runtime de Reports'
@l ejecutar un reporte, debe conectarse previamente a la base de datos con un
usuario vlido' El reporte puede a su vez contener una lista de parmetros 4ue pueden
ser validados e introducidos antes de la ejecucin'
D-12093 3 <05-770396?0-923 <- /9 5-:352-4 es el lugar al cual podemos direccionar el
reporte para su visualizacin' ,os destinos validos son0
&creen ,a salida del reporte puede ser revisada por el usuario en pantalla'
/ile ,a salida del reporte puede ser enviada a un archivo especificado en
el destino'
-rinter ,a salida del reporte es enviada a una impresora definida o a la cual el
usuario tenga acceso'
+ail ,a salida del reporte es enviada al usuario Oracle +ail o Oracle Office'
( se espec1fica en nombre del usuario como destino"'
-revie6 ,a salida del reporte puede ser revisada por el usuario en pantalla' &in
embargo, el reporte es formateado utilizando caracter1sticas de la
impresin (fonts"' $on la opcin previe6 es posible controlar el
n5mero de pgina 4ue se desea ver, dividir la pantalla, hacer scroll,
magnificar, disminuir (zoom in, zoom out" etc'
AAOSA Oracle Reports 6i 7-88
El -revie6er nos permite adems0
*acer operaciones drill 3 do6n0 incluir botones con acciones -, % &8, 4ue llaman
otros reportes para ver informacin de detalle'
@cceder objetos multimedia0 un reporte puede contener botones para objetos
multimedia (v1deo o sonido"'
@plicaciones O,E0 si se inclu#en objetos O,E, es posible hacer clic doble en ellos
para invocar el correspondiente servidor O,E'
AAOSA Oracle Reports 6i 8-88
LABORATORIO 2
En esta leccin d' @prender a interactuar con el -revie6er de Oracle Reports'
C' !nvo4ue Oracle Reports Runtime, con)ctese a la 9. # ejecute el reporte
-revie6er 'R./ suministrado por el instructor'
a" E7perimente con las opciones de magnificar # minimizar ubicadas en la parte
inferior iz4uierda de su pantalla'
b" -ulse el botn -R!=( # observe como Reports le mostrar la impresora por
defecto del sistema' =o imprima el reporte'
c" &alga del -revie6er # haga los siguientes ajustes0 seleccione +en5 BF Edit BF Run
(ime &ettings' En la pestana de opciones de tiempo de ejecucin (run time
settings, cambie las dimensiones de la pgina a G'H 7 H' $ierre el reporte # vuelva
a ejecutarlo'
d" ?uelva a correr el reporte' Esta vez los botones correspondientes a la primera,
pr7ima # 5ltima pgina debe estar habilitados'
;' @bra el ambiente de desarrollo (Reports 9uilder"'
a" @bra el reporte -RE?!E<ER' !nvo4ue el navegador de objetos de Reports'
b14uese en el nodo identificado con el nombre I-RE?!E<ERJ' &eleccione (ools
BF -roperties, o pulse el botn derecho de su ratn' En la seccin Report
(!nforme", cambie la propiedad -revie6er (itle ((1tulo del ?isor" introduzca el te7to
IEsto# corriendo mi primer mdulo Oracle ReportsJ'
b" &alve # genere el reporte0 +en5 B F@rchivo BF Grabar # +en5 BF @rchivo BF
@dministracin BF $ompilar !nforme ($(R,B("'
c" .esde la sesin de ejecucin (Reports Runtime"D cierre # vuelva a ejecutar el
reporte'
d" -ara crear una vistas parciales de su reporte, puede arrastrar los pe4ue2os
recuadros 4ue estn pr7imos a las barras de desplazamiento horizontal o
vertical' $onsulte a su instructor si tiene dudas'
AAOSA Oracle Reports 6i 9-88
3
CREACIN DE UN REPORTE BSICO CON REPORT WIZARD
3,1 EL REPORT WIZARD
na vez determinados los re4uerimientos de informacin para un determinado
reporte e identificados los criterios para su dise2o, podemos invocar al Report <izard
para 4ue nos asista en creacin del reporte' Esta poderosa herramienta nos permite
definir el reporte de una manera rpida # sencilla' El <izard nos muestra una serie de
pginas 4ue nos asisten en la definicin del modelo de datos (.ata +odel" # el modelo
de dise2o o presentacin (,a#out +odel"' El <izard constru#e el reporte basndose en
las especificaciones suministradas en estas pginas' na vez 4ue el reporte es creado,
el mismo puede modificarse para adaptarlo a re4uerimientos espec1ficos de la
aplicacin'
na de las caracter1sticas resaltantes del <izard, es 4ue el mismo es reentrante'
Esto significa 4ue es posible modificar un reporte #a e7istente invocando el <izard en
un determinado momento' -ara hacerlo basta con seleccionar desde el men5 principal0
(ools BF Report <izard'
AAOSA Oracle Reports 6i 10-88
N3264 cuando navegamos entre las pginas del <izard, debemos proveer toda la
informacin necesaria antes de navegar a la pr7ima' &i el <izard detecta 4ue falta
informacin, )l mismo nos impedir navegar'
,as pginas 4ue muestra Report <izard durante la definicin del reporte se
detallan a continuacin0
S2G;- P6B-4 nos permite definir en t1tulo (opcional" 4ue se muestra en el rea de
margen # cuales4uiera de los estilos predefinidos0 tabular, forma, eti4ueta, carta,
group left, group above, matricial, matricial con grupos'
AAOSA Oracle Reports 6i 11-88
D626 P6B-4 nos permite definir la instruccin &E,E$( 4ue servir como fuente de
datos para el reporte' Es posible definir el 4uer# escribiendo directamente el
&E,E$( en el rea de 8uer#, invocando el 8uer# 9uilder, o importando la data
desde un archivo e7terno'
AAOSA Oracle Reports 6i 12-88
!53/:1 P6B-4 permite definir los grupos del reporte'
AAOSA Oracle Reports 6i 13-88
&0-;<1 P6B-4 nos permite definir 4ue campos definidos en el 4uer# deben
mostrarse en el reporte0
AAOSA Oracle Reports 6i 14-88
T326;1 P6B-4 permite definir para cada una de los campos seleccionados una
funcin de totalizacin'
AAOSA Oracle Reports 6i 15-88
L6C-; P6B-4 para definir las eti4uetas asociadas a campos # totales'
AAOSA Oracle Reports 6i 16-88
T-?:;62- P6B-4 nos permite seleccionar la plantilla del reporte' -odemos tambi)n
indicarle al <izard 4ue no deseamos usar ninguna plantilla'
3,2, EL NA*E!ADOR DE OBJETOS
El navegador de objetos provee una visin jerr4uica de los principales objetos de
un reporte o template' =os permite la seleccin de objetos, el estudio de sus
propiedades a trav)s de llamadas directas a la paleta de propiedades, la edicin de un
objeto -, % &8, , operaciones de arrastre # pegar (drag and drop" # capacidades de
b5s4ueda de objetos' ,os componentes de navegador de objetos son0
L6 ;0126 <- <37/?-92314 es una lista 4ue contiene todos los mdulos abiertos' @l
seleccionar un nombre de la lista nos ubicamos de manera inmediata en dicho
mdulo'
&09<4 nos permite introducir una cadena de caracteres 4ue servir de criterio de
b5s4ueda para un objeto con ese nombre' Es posible efectuar b5s4uedas hacia
delante o hacia atrs'
T33;C654 es la barra de herramientas 4ue nos permite asociar un icono con la
accin relacionada al mismo' ,a barra de herramientas se encuentra en la parte
iz4uierda del navegador'
AAOSA Oracle Reports 6i 17-88
OCE-72 T5--4 es el rbol 4ue muestra los objetos abiertos en el navegador en un
momento dado'
N3<-14 cada objeto o tipo de objeto en la sesin es representado en el navegador
mediante un nodo' $ada nodo tiene alguno o todos del los siguientes iconos0
n signo K 3 4ue indica 4ue el nodo en cuestin puede e7pandirse o
colapsarse'
n icono -, % &8, indicando 4ue en objeto es de tipo -, % &8,'
n icono representativo del tipo de objeto'
n nombre o encabezado'
*0-H14 para visualizar los objetos en una relacin padre 3 hijo, , por tipo de
objetos'
3,3, LA PALETA DE PROPIEDADES
,a paleta de propiedades es una interfaz para visualizar, localizar # definir o
modificar las propiedades de un objeto de Oracle Reports'
C65672-5F1207614
=odos 4ue pueden e7pandirse o colapsarse'
$ambio directo de propiedades'
$apacidad de b5s4ueda'
AAOSA Oracle Reports 6i 18-88
$apacidad de seleccin m5ltiple'
+5ltiples instancias de la paleta de propiedades'
$uando se selecciona un objeto en un editor o en el navegador, la paleta de
propiedades es actualizada automticamente' ,as propiedades de los objetos se
agrupan de manera funcional # consta del nombre de la propiedad # su valor' El valor de
la propiedad puede cambiarse mediante una lista de valores, un campo tipo te7t field o
un botn M35-,
P53:0-<6<-1 <- /9 R-:352-4 e7isten diferentes propiedades de un reporte 4ue afectan
su comportamiento # apariencia' Entre ellas se mencionarn0
nidad de medida0 es posible cambiar la /90<6< <- ?-<0<6 a pulgadas,
cent1metros # puntos' ,as pulgadas se utilizan para el dise2o de reportes en modo
caracter' &e puede cambiar el tama2o de la pgina0 el defecto es G'H 7 CC
pulgadas'
-ropiedades de la forma de parmetros0 es el posible tama2o de la forma de
parmetros'
AAOSA Oracle Reports 6i 19-88

Es tambi)n posible definir preferencias para una sesin ((ools BBF (ool Options"
tales como0 mscaras, localizacin de objetos, unidades de medida etc' Estas
preferencias son guardadas en los archivos $@G-RE/& # $@-RE/&'
AAOSA Oracle Reports 6i 20-88
LABORATORIO 3
1 .!nvo4ue Reports en el grupo de programas de Oracle .eveloper'
) $ree un reporte tabular basado en el siguiente 4uer#' .ise2e el 4uer# en el .ata
+odel' -ara crear el la#out use la herramienta Report <izard del toolbar'
select DEPT_ID,
LAST_NAME,
SALARY
from S_EMP
) $orra el reporte, indi4ue screen como destination t#pe'
) $ierre la vista preliminar'
2.sando el mismo reporte, modifi4ue el 4uer# para incluir un ordenamiento por el
deptEid' $orra nuevamente el reporte' =o genere el la#out' &e han hecho efectivos los
cambiosL'
3.&alve el reporte como -ra:Res:'R./'
4 .sando el mismo reporte -ra:Res:'R./, modifi4ue las opciones indicadas por el
men5 (ools BF -references, seleccione la pesta2a <izard, salvando el reporte con las
nuevas propiedades'
*6506C;- 6 76?C065 *6;35
*orizontal Gap C
?ertical Gap :
Report <izard Object &pacing <izard (ab
) Genere nuevamente el ,a#out invocando Report <izard, como un reporte tabular,
4u) diferencia observa en el la#outL
) $orra el reporte # observe las diferencias en la salida'
5.sando el mismo reporte, modifi4ue sus propiedades, tal 4ue el t1tulo sea R-:352- <-
E?:;-6<31 :35 D-:6526?-9231' $orra # che4uee en la salida el nuevo t1tulo'
6.E7panda el ,a#out +odel, seleccione el nodo +ain &ection, en la ventana de
propiedades, en la seccin &ection # cambie los valores a las propiedades0
P53:0-<6< *6;35
-age 6idth 6'H inches
-age height M inches
a )Genere nuevamente el default la#out, seleccione el tipo tabular' Observe 4ue el
la#out editor, puede notarse claramente el tama2o de la pgina, con una l1nea
negra slida'
b )$orra el reporte # vea la diferencia en la salida'
c )sando el comando &ave @s, salve el reporte como -ra:Res6'R./'
AAOSA Oracle Reports 6i 21-88
7 .sando el comando &ave @s, salve el reporte -ra:Res6'R./ como -ra:ResN'R./
) +odifi4ue el 4uer# como se indica0
select DEPT_ID,
FIRST_NAME || ||LAST_NAME,
SALARY
from S_EMP
order by DEPT_ID
) @ltere el ancho del reporte a G'H 7 CC pulgadas (inches"'
) Genere el default la#out usando estilo tabular' $orra el reporte'
) En 4u) posicin es desplegada la concatenacin del last # first nameL
) En el data model ajuste la posicin de )sta columna' @seg5rese de 4ue la
concatenacin del last # first name aparezca despu)s de la columna .E-(E!.'
) &alve el reporte como -ra:ResN'R./'
AAOSA Oracle Reports 6i 22-88
4
DATA MODEL, DATA WIZARD, UERY-!ROUPS-LIN"S
En este cap1tulo se estudiar con ms profundidad los objetos ./-5G, B53/:1 G
;09A1 del data model'
4,1, PASOS PARA CREAR UN UERY
.esde el navegador seleccionar el D626 M3<-; haciendo doble clic en la icono .ata
+odel del navegador de objetos, seleccionado en el men5 principal (ools BF Report
Editor, o presionado la tecla /;'
En el .ata +odel 1-;-7703965 ;6 I-556?0-926 <- ./-5G del toolbar # hacer clic en la
regin de edicin' &i la paleta de herramientas(toolbar" no es visibleD entonces
seleccione desde el men5 principal ?ie6 BF (oolbar -alette'
bicarse en la regin de edicin del &E,E$( para <-J0905 -; ./-5G' Opcionalmente,
si no se desea escribir directamente el 4uer#, podemos invocar la herramienta 4uer#
builder , importar el 4uer# desde el file s#stem'
*acer clic en OO para terminar'
AAOSA Oracle Reports 6i 23-88
Es posible agregar comentarios dentro del 4uer# (con BB # %P ''''P%"' =o se permite
la terminacin con QKR dentro del rea del 4uer# # debe contarse con los privilegios
apropiados para accesar los objetos de base de datos 4ue se desean referenciar'
!gualmente, puede restringirse el n5mero de filas a ser recuperadas por la instruccin
&E,E$( en el campo ma7imum ro6s'
4,2, PASOS PARA CREAR UN REPORTE DESDE UN UERY ELTERNO
Es posible recuperar 4ueries dise2ados con otras herramientas como &4lplus,
/orms, etc' Esto es lo 4ue se denomina E7ternal 8uer#'
/ile BF =e6 BF Report'
&eleccione el .ata +odel'
*aga doble clic en la herramienta 4uer# del toolbar'
*aga doble clic en el 4uer# bo7'
$olo4ue el cursor en el campo de e7ternal 4uer# # haga clic en el botn ,ist para
seleccionar el 4uer# # clic en OO'
*aga clic en el botn @ppl# # remueva el path'
*aga clic en el botn OO para salir de la ventana'
$ontinue con la secuencia normal de definicin de reportes'
4,3, PASOS PARA CREAR UN REPORTE USANDO UERY BUILDER
-ara a4uellos usuarios 4ue dominan la herramienta 8uer# 9uilder, Reports
tambi)n ofrece la posibilidad de definir el 4uer# invocando directamente esta
herramienta' &implemente, pulse el botn Q8uer# 9uilderR # conforme el 4uer# seg5n los
re4uerimientos'
4,4, !ROUPS
,os grupos se utilizan para organizar la data en un conjunto de registros,
conformar una jerar4u1a # determinar la frecuencia en la cual los registros deben
imprimirse'
Reports asocia predeterminadamente un grupo para cada 4uer# del reporte, pero
-; /1/6503 :/-<- 75-65 tantos B5/:31 adicionales como re4uiera para 5/:2/561 <-
739253;, 5-:352-1 ?6250706;-1 G 1/?650M67089 <- <6231 -9 90@-;-1 092-5?-<031'
4,#, JERARU)A DE !RUPOS
&e utiliza para definir rupturas de control de uno o ms grupos adicionales' -ara
crearlas, se seleccionan los campos por los cuales se desean efectuar dichas rupturas #
se realiza una operacin de <56B 69< <53: sobre o debajo del grupo por defecto (el
grupo padre siempre debe ir de primero"'
na vez realizada la ruptura es posible efectuar un ordenamiento ascendente o
descendente # sobre 4ue columnas se desea realizar' -or lo tanto, -9 /9 5-:352- 739
5/:2/561 <- 739253;, -; 35<-96?0-923 <- ;6 <626 -1 73?3 10B/-4 1- 35<-96 :50?-53
:35 ;61 73;/?961 <- 5/:2/56 G ;/-B3 :35 ;6 7;N/1/;6 ORDER BY'
AAOSA Oracle Reports 6i 24-88
E1 :310C;- J0;2565 ;6 <626 a procesar por el reporte en un grupo dado' Esto se
logra mediante dos tipos de filtros0 -acSage /ilter # /iltros creados por el desarrollador'
.entro de los P67A6B- &0;2-51 son posible dos opciones0 &0512 &0;2-5 9 5-B012531 G L612
J0;2-5 9 5-B012531' ,os filtros se encuentran en el objeto Group del data model'
4,6, REPORTES CON MOLTIPLES UERIES
n reporte puede tener uno o ms 4ueries los cuales pueden ejecutarse
independientemente uno del otro o pueden formar una jerar4u1a' E; 35<-9 <- -E-7/7089
-1 <- 6550C6 6 6C6E3 <- 0M./0-5<6 6 <-5-7I6 73?-9M69<3 <-1<- 6550C6 G 6 ;6
0M./0-5<6 en el editor del data model'
4,$, USO DE LIN"S PARA ESTRUCTURAR LA DATA
,os linSs definen una relacin padre B hijo a trav)s de las claves primarias #
forneas' (ambi)n es posible lograr el linS mediante una condicin de e4ui B join'
Ejemplo0 <*ERE dpto'codEdpto T empleado'codEdpto'o non e4ui B join' Ejemplo0
<*ERE empleado'salario 9E(<EE= grados'limiteEinf @=. grados'limiteEsuperior'
AAOSA Oracle Reports 6i 25-88
-ara crear un linS, siga los siguientes pasos0
En el data model seleccione la herramienta linS del toolbar'
S0-?:5- 75-- /9 ;09A <-1<- -; ./-5G :6<5- 6; I0E3, haciendo clic el la clave
primaria o fornea # efectuando un drag a la clave primaria o fornea del hijo' na
vez definida la relacin es posible utilizar operadores lgicos en la instruccin
&E,E$('
Otra forma de definir linSs es colocando variables tipo bind en el 4uer# hijo' -or
ejemplo siendo el padre la tabla .E-( # el hijo la tabla E+-, se puede colocar en
el 4uer# hijo una clusula <*ERE como sigue0 <*ERE emp'deptEid T 0dept'id'
4,(, DATA WIZARD PARA !ENERAR UERIES Y !RUPOS EN EL DATA MODEL
El .ata <izard ofrece la posibilidad de crear ms fcil # rpidamente los objetos
del .ata +odel0 4uer#, grupos de ruptura # totales para un reporte de m5ltiples 4ueries'
.ebido a 4ue este <izard es reentrante, es posible efectuar las siguientes actividades0
+odificar un .ata +odel #a e7istente'
$rear 4ueries adicionales al .ata +odel'
!nvocar el .ata <izard desde el editor de la#out cuando se definen la#out
adicionales'
-ara invocar el .ata <izard, seleccione desde el men5 principal0 (ools BF .ata
<izard # siga paso a paso las indicaciones' @l final, debe haber creado tanto el 4uer#,
como los data groups # las rupturas de control necesarias seg5n los re4uerimientos del
reporte'
El uso del .ata <izard, es la manera ms rpida, segura # confiable para generar
objetos nuevos en el .ata +odel, por lo tanto se recomienda su uso tanto para la
definicin de objetos nuevos, como para la modificacin de los #a e7istentes'
&e muestra a continuacin, la pantalla principal del .ata <izard, junto a una
breve descripcin de cada paso a seguir' El orden debe ser el mismo de cada una de
las pesta2as mostradas0
/-5G4 a4u1 debe asignrsele un nombre al 4uer# a crear' &i lo 4ue se desea es
modificar un 4uer# #a e7istente, entonces debemos hacer clic con el ratn sobre
dicho objeto o sobre cual4uiera de sus objetos dependientes, # a continuacin,
invocar el .ata <izard'
D6260 &e especifica el 4uer# propiamente dicho' -uede utilizarse cual4uiera de las
variantes definidas previamente'
!53/:10 &e definen los grupos o jerar4u1as de la data a ser e7tra1da con el 4uer#'
&i el estilo del reporte es tabular, entonces no es necesario definir grupos o
jerar4u1as'
T326;14 permite definir una funcin de totalizacin sobre uno o ms campos de los
grupos o jerar4u1as (columnas del 4uer#"'
AAOSA Oracle Reports 6i 26-88
AAOSA Oracle Reports 6i 27-88
LABORATORIO 4
1. $ree un reporte 4ue contenga dos 4ueries no relacionados0
8ERU0 8E$&(O+ER
select NAME, ITY, ADDRESS, STATE, ID
from S_!ST"MER
#$ere ID % &'(
8ERU0 8EOR.
select !ST"MER_ID, ID, DATE_S)IPPED, T"TAL
from S_"RD
#$ere !ST"MER_ID % &'(
a) &eleccione estilo tabular'
b) $orra el reporte # note cmo aparecen los datos' ,os datos del 4uer# 8E$&(O+ER
se muestran antes 4ue los del 4uer# 8EOR.' Recuerde 4ue se puede alterar el orden
en el cual se imprimen los datos modificando el orden de los 4ueries en al data
model' (rate de hacerlo'
c) &i ud' cambi el orden de presentacin de los 4ueries, por favor col4uelos en su
orden original # slvelo como -raMResC'R./'
2.&uprima la clusula <*ERE del 4uer# &E$&(O+ER, asegurando 4ue todos los
clientes son desplegados, crralo'
) $olo4ue un filtro al 4uer# 8E$&(O+ER para desplegar slo los primeros cuatro
clientes' $orra el reporte'
) &alve como -raMRes;'R./'
) $ierre )ste # cual4uier otro reporte 4ue mantenga abierto en el object navigator'
3. @bra el reporte -raMResC'R./,
En el data model defina un linS entre los dos 4ueries usando las claves primarias #
forneas'
d' necesita hacer clic sobre la herramienta .ata linS, luego hacer clic sobre el primer
4uer#, manteniendo oprimido el botn iz4uierdo del mouse, se arrastra hacia el segundo
4uer#, sobre el cual se suelta el botn del mouse'
Genere el default la#out tipo +aster%.etail' Observe la estructura del nuevo la#out'
$orra el reporte # slvelo como -raMRes:'R./' $i)rrelo'
AAOSA Oracle Reports 6i 28-88
4 .$ree un nuevo reporte usando el siguiente 4uer#0
select t*+ID ,!ST"MER ID-, t*+NAME, t*+ADDRESS,
t*+ITY, t*+STATE, t&+!ST"MER_ID,
t&+ID ,"RDER ID-, t&+DATE_S)IPPED, t&+T"TAL
from S_!ST"MER t*,
S_"RD t&
#$ere t*+ID % t&+!ST"MER_ID
a) $ree un reporte jerr4uico, formando un grupo padre con los datos de los clientes #
un grupo hijo con los datos de las rdenes' =o olvide renombrar los grupos' -ruebe
definir la jerar4u1a manualmente usando el asistente .ata <izard (cree un 5nico
nivel en la jerar4u1a"'
b) Genere el default la#out usando estilo +aster%.etail'
c) $orra el reporte # revise'
d) &lvelo como -raMResM'R./' =o lo cierre'
a" +odifi4ue el reporte -raMResM'R./ para mostrar el creditErating de los clientes0
a )Restrinja el 4uer# a los clientes cu#o creditErating sea -OOR'
b )=o reconstru#a el la#out por defecto' En su lugarD modifi4ue el la#out actual # cree
un campo en el la#out editor para mostrar la columna credit rating reci)n creada'
c )&alve como -raMResH'R./ # cierre'
$ree un reporte 4ue muestre los empleados por regin # por departamento, observe 4ue
ha# tres niveles de jerar4u1a' &lvelo como -raMRes6'R./ # ci)rrelo'
Para ste reporte se requiere obtener datos de las tablas S_REGION, S_DEPT y
S_EMP. Reuerde !aer el "oin entre las tablas.
AAOSA Oracle Reports 6i 29-88
5
DATA MODEL - COLUMNAS
#,1, TIPOS DE COLUMNAS
C3;/?961 :35 D-J-7234 tambi)n denominadas columnas de base de datos, #a 4ue
toman su valor de la definicin del 4uer#' &e inclu#en a4u1 tambi)n las columnas
definidas mediante e7presiones en la instruccin &E,E$('
C3;/?961 D-J090<61 :35 -; P53B56?6<354 estas pueden a su vez ser de tres tipos0
J35?/;6 73;/?9, donde se utiliza una formula definida a trav)s de -,'%&8, ,
:;67-I3;<-5 73;/?9, la cual toma los valores de los formula column # 1/??65G
73;/?9, totaliza sobre otra columna # puede ser recalculada para cada grupo
especificado'
#,2, PASOS PARA DE&INIR UNA COLUMNA
En el .ata +odel, seleccione la herramienta apropiada en el toolbar' *aga clic
dentro del grupo para 4ue la columna de repita con la misma frecuencia de este ,
en un rea abierta en el editor'
*aga doble clic en el objeto para revisar sus propiedades'
Establezca las propiedades seg5n su conveniencia'
*aga clic en el botn OO'
AAOSA Oracle Reports 6i 30-88
A250C/231 73?/9-1 6 ;61 C3;/?9614 nombre, datat#pe, 6idth, height, value if null,
breaS order' Otros tipos de columnas como los formula column, tienen atributos
espec1ficos como el botn de edicin para introducir cdigo -, % &8,' ,os placeholder
column pueden utilizarse para almacenar valores temporales para uso posterior en el
reporte'
&35?/;6 C3;/?914 Este tipo de columnas definidas por el programador, contienen un
cdigo -, %&8, asociado, 4ue ejecuta clculos espec1ficos sobre otras columnas del
.ata +odel, inclusive acceden a la 9. para e7traer informacin complementaria 4ue
pudiese eventualmente ser necesaria en el reporte' El cdigo -,%&8, siempre es una
funcin 4ue retorna 5nicamente valores de tipo num)rico, fecha o carcter''
,as siguientes restricciones aplican a los formula column0
&e puede asignar valores al formula column en s1 mismo, a columnas placeholder,
a parmetro dentro del cdigo -, %&8, de la columna'
n formula column solo puede hacer referencia a columnas de la misma jerar4u1a
o una ms alta' -or ejemplo, un formula column 4ue se define a nivel del reporteD
solo puede hacer referencia a columnas 4ue esten a nivel del reporte'
,os formula column se calculan de tal manera 4ue cual4uier columna a la 4ue se
haga referencia dentro de ella, es calculada primero' -ara esto, Reports constru#e
una lista de dependencias # garantiza de esta forma, el orden apropiado de los
clculos' =o se permiten referencias circulares'
P;67-I3;<-5 C3;/?914 se usan para guardar clculos intermedios o valores 4ue se
determinan en formula column # 4ue se necesitan en alg5n momento del reporte'
El valor de un placeholder puede asignarse en0
n trigger 9efore Report si el placeholder es una columna definida a nivel del
reporte'
n formula column a nivel del reporte, si el placeholder es una columna definida a
nivel del reporte'
En el grupo donde se ha definido el placeholder o en un grupo inferior'
#,3, SUMMARY COLUMNS
Otro tipo de columnas 4ue tienen atributos especiales son los summar# columns0
/unction 0 tipo de clculo a efectuar0 sum, average, minimum, ma7imum, count,
first, last, Vtotal, std deviation, variance'
&ource0 fuente o columna cu#o valor ha de aplicrsele a la funcin'
$ompute @t0 el grupo para el cual el Vtotal es computado'
Reset @t0 el grupo en el cual el valor se reinicializa'
AAOSA Oracle Reports 6i 31-88
#,4, REINICIALIZACIN DE SUMMARY COLUMNS
&iempre por defecto e7istirn dos opciones0 Report # -age' tilice los siguientes
lineamientos para crear summar# columns0 si el total es simple, el Reset Group T -rint
GroupD si es un total acumulativo, Reset Group F -rint Group'
AAOSA Oracle Reports 6i 32-88
LABORATORIO 5
1. @bra el reporte -raMRes6'R./'
a) @dicione una columna 4ue muestre el valor porcentual de cada salario con relacin al
total salario del departamento al cual pertenece el empleado' &lo se deben mostrar
empleados del departamento QOperationsR' tilice el .ata <izard para crear esta
columna' Revise las propiedades de los campos reci)n creados # modifi4ue los
nombres si no los considera apropiados'
b) !nvo4ue Reports <izard para volver a generar el ,a#out' @seg5rese de 4ue los
campos nuevos sean incluidos en la salida del reporte' (rate de colocar eti4uetas
significativas a estos campos'
c) &alve el reporte como -raHResC'R./, no lo cierre'
2. $rear un reporte 4ue muestre el id, el nombre, el salario, el porcentaje de comisin # una
columna con el monto de la comisin por empleado llamada $omision' tilice la tabla
&EE+-' Restrinja la salida 5nicamente a los empleados 4ue sean vendedores' # tenga
presente 4ue la columna $omisin, sea calculada en el comando &elect, esto es ms
eficiente 4ue crear una columna de frmula en el .ata +odel' @dicionalmente, el
firstEname # el lastEname deben concatenarse para formar un slo nombre'
) +uestre una columna llamada RangoE$omision, 4ue sea contador' ,a data del 4uer#
debe ordenarse por el e4uivalente en remuneracin de forma descendente, para 4ue
esta columna muestre el valor correcto'
) $rear una columna para representar el average de la columna comisin'
) &alve el reporte como -raHRes;'R./ # ci)rrelo'
Por de#eto, las olu$nas nu$rias aluladas se %eneran on una a$plitud de &'.
3. Guarde el reporte -raHRes; como -raHRes:' Esta vez, debe estar ordenado por el
salario, la comisin debe crearla como un formula column' $ree tambi)n un formula
column 4ue calcule el total a cobrar por el vendedor' $ree totales para el salario # las
comisiones de todos los vendedores' Elimine tambi)n el campo RangoE$omision'
4. $ree un reporte 4ue muestre informacin acerca de las ordenes de compra' -1dale a su
instructor 4ue le muestre un modelo del reporte a construir'
a) $alcule el importe total por cada 1tem como un campo del 4uer#'
b) $alcule el total de la orden como un summar# column' (!gnore la columna (O(@, de
la tabla &EOR."'
c) El estilo del reporte debe ser maestro 3 detalle'
d) &alve el reporte como -raHResM'R./' $ierre el reporte en el object navigator'
AAOSA Oracle Reports 6i 33-88
6
OBJETOS DEL LAYOUT
6,1, EL LAYOUT
El la#out es el rea de Reports donde se define la manera como se presentar la
informacin al usuario final' E1 73?:;-E6 :656 @01/6;0M65 G ?3<0J0765, no obstante, es
posible crear los la#outs basndonos en las definiciones por defecto 4ue Reports ofrece,
de esta maneraD solo ser necesario acondicionar dicha rea partiendo de un defecto #
buscando disminuir las modificaciones' @dicionalmente, es recomendable utilizar la
herramienta ,a#out <izard la cual asiste al programador paso a paso en la definicin
del formato del reporte'
6,2, OBJETOS DEL LAYOUT
!56:I071 Es posible incorporar objetos de Oracle Graphics en Reports'
B30;-5:;62- (e7to o grfico 4ue aparece en un reporte cada vez 4ue este
es ejecutado' @lgunos objetos boilerplate son creados por
defecto'
EP2-596; B30;-5:;62- (e7to o grfico 4ue aparece en un reporte cada vez 4ue este
es ejecutado pero, es le1do desde un archivo en disco hasta
Reports'
OLE2 n objeto del la#out 4ue llama a un producto 4ue soporte O,E
para mostrar algo en el reporte'
B/2239 n elemento de interfaz utilizado para seleccionar una accin'
&56?- Objeto del la#out 4ue se utiliza para enmarcar # controlar la
frecuencia, el formato el posicionamiento de otros objetos en
forma simultnea'
R-:-6209B &56?- Objeto utilizado para mostrar los registros de data de un
group'
&0-;< Objeto 4ue define la apariencia de la data' -uede contener
data tipo number, char, date, graphics, sound o image'
A97I35 Objeto utilizado para fijar objetos entre s1'
N3264 ,os diferentes objetos del la#out editor, sern estudiados con ms detalle en las
pr7imas lecciones'
AAOSA Oracle Reports 6i 34-88
6,3,RE!IONES DE UN REPORTE
+-6<-5 &on las pginas 4ue aparecen una vez al comienzo del
reporte' -uede contener te7to, data, grficos # clculos'
B3<G Es el contenido del reporte como tal' $ada pgina f1sica
consiste de un cuerpo # su rea de mrgenes'
T560;-5 &on las pginas 4ue aparecen una vez al final del reporte'
-uede contener te7to, data, grficos # clculos
M65B09 Regin 4ue aparece en todas las pginas del bod#,
posicionada entre las pginas del header # trailer' -uede
contener te7to, data, grficos, clculos, n5meros de pgina,
totales por pgina etc'
$ada una de las regiones del reporte tiene sus propiedades 4ue permiten al
programador definir carcter1sticas iguales o diferentes seg5n las necesidades'
AAOSA Oracle Reports 6i 35-88
6,4, P!INAS L!ICAS Y &)SICAS
El manejo de este concepto permite dise2ar reportes ms largos 4ue el tama2o
de una pgina de impresin'
,a pgina f1sica representa el tama2o real de la pgina de impresin'
,a pgina lgica es conceptual # puede abarcar varias f1sicas' Es el n5mero de
pginas f1sicas de ancho multiplicado por el n5mero de pginas f1sicas de alto'
Estas propiedades son las denominadas Q*orizontal -anels per -ageR # Q?ertical
-anels per -ageR'
,a manera ms fcil de cambiarse de regiones dentro de un reporte es haciendo
uso de las herramientas de toolbar ubicadas en el editor de la#out0
AAOSA Oracle Reports 6i 36-88
7
LAYOUT DE&AULT LAYOUTS
$,1, ESTILOS DEL LAYOUT
T6C/;65 -ara reportes tabulares o con rupturas de control de uno o ms
grupos' $ontiene0 un J0-;< para cada columna, C30;-5:;62- una
eti4ueta para cada campo, 5-:-6209B J56?- uno para cada
grupo # J56?-, uno para todos los objetos del encabezado #
uno para cada grupo'
M612-5 D D-260; -ara reportes con una relacin padre B hijo, cada registro padre
aparece sobre o a la iz4uierda de sus hijos' ,as eti4uetas del
padre se imprimen a la derecha' $ontiene0 J0-;< para cada
columna, C30;-5:;62- una eti4ueta para cada campo, 5-:-6209B
J56?- uno para todos los objetos master # el grupo detail
respectivamente'
&35? Ofrece una ruptura de pgina para cada registro' ,as eti4uetas
se imprimen a la derecha de los campos, la salida es de
longitud fija' $ontiene0 un J0-;< para cada columna, C30;-5:;62-
una eti4ueta para cada campo, 5-:-6209B J56?- uno para cada
grupo del data model abarcando todos los objetos'
&35? L-22-5 Ofrece una ruptura de pgina para cada registro' ,as eti4uetas
se imprimen a la derecha de los campos, la salida es de
longuitud variable' Es ideal para reportes tipo carta o
memorndum' $ontiene0 un J0-;< para cada columna,
5-:-6209B J56?- uno para cada grupo del data model
abarcando todos los objetos'
M60;09B L6C-; $rea los registros con los campos uno debajo del otro' Es
posible formatear uno o varios registros por pgina' $ontiene0
un J0-;< para cada columna, 5-:-6209B J56?- uno para cada
grupo del data model abarcando todos los objetos'
M6250P Reporte matricial donde un conjunto de registro se imprime
hacia abajo # otro de derecha a iz4uierda, junto con el registro
interseccin' $ontiene0 un J0-;< para cada columna, C30;-5:;62-
para los grupos padres, 5-:-6209B J56?-, ?6250P o grupo
denominado cross B product # J56?- uno fjo para cada grupo de
eti4uetas # uno para todos los objetos'
AAOSA Oracle Reports 6i 37-88
$,2, USANDO EL REPORT WIZARD
na vez creado el .ata +odel, invo4ue al Report <izard 4ue es el asistente de
creacin de reportes' .icho asistente, presenta una serie de pesta2as 4ue deben
seguirse en el orden definido para crear e7itosamente el reporte' @l igual 4ue el .ata
<izard, este asistente es reentrante, lo cual nos permite modificar un la#out 4ue fue
previamente definido'
,os pasos para crear el reporte son los 4ue a continuacin se detallan0
En la pesta2a &t#le, seleccionamos el estilo de la#out 4ue se re4uiere' ,as
opciones disponibles son0 tabular, tipo forma, eti4ueta, carta, maestro detalle con
detalle a la iz4uierda, maestro detalle con detalle abajo, matricial # matricial con
ruptura de control' $ada una de estas opciones son mutuamente e7clusivas'
En la pesta2a de .ata seleccionamos el 4uer# asociado 4ue se tomar como
base para la emisin del reporte'
En la pesta2a Groups, seleccionamos el o los grupos 4ue deseamos incluir en el
reporte'
En la pesta2a /ields, seleccionamos los campos 4ue deseamos sean impresos en
el reporte' =tese 4ue a4u1 se pueden decidir 4ue campos no deseamos incluir de
los disponibles en el .ata +odel'
En la pesta2a (otals, seleccionamos los totales a ser impresos en el reporte'
AAOSA Oracle Reports 6i 38-88
En la pesta2a ,abels, modificamos las eti4uetas de los campos # totales del
reporte'
/inalmente, en la pesta2a (emplate, seleccionamos una plantilla a ser usada
como base para la apariencia del reporte, o simplemente, omitimos el uso de una
plantilla en particular'
$,3, MODI&ICANDO EL DE&AULT LAYOUT
C3;/?9614 es posible suprimirlas del default la#out, cambiar la eti4ueta, el ancho #
alto'
!53/:14 es posible suprimirlas del default la#out, cambiar la direccin de impresin'
$,4, MOLTIPLES DE&AULT LAYOUTS
&eleccione la herramienta de la#out por defecto adicional (additional default la#out"'
*aga clic dibuje un rea con el ratn en el editor de la#out'
&eleccione el estilo de default la#out'
&eleccione solo los grupos 4ue deben aparecer en este nuevo la#out'
$,#, DIRECCIONES DE IMPRESIN PARA LOS RE!ISTROS DENTRO DE UN !ROUP
AAOSA Oracle Reports 6i 39-88
A753114 cada ocurrencia del repeating frame se imprime a la derecha del anterior'
A75311 D D3H94 de iz4uierda a derecha # hacia abajo seg5n la longuitud de la pgina
lgica'
D3H94 hacia abajo
D3H9 D A753114 hacia abajo # luego hacia la derecha seg5n la longuitud de la pgina
lgica'
M6250P4 se desea 4ue el formato del reporte se ajuste al de una matriz'
AAOSA Oracle Reports 6i 40-88
LABORATORIO 7
1 .$ree el reporte 4ue muestra el ejemplo N@' &eleccione estilo +ailing ,abel en el
default la#out'
a) /ije el tama2o de pgina en G'H inches 7 CC inches' -ara 4ue el reporte se asemeje al
ejemplo Na, debe insertar tres l1neas despu)s del campo ciudad' .ebe tambi)n
cambiar la orientacin del repeating frame a .o6n'
b) $ada eti4ueta ser de MR de alto por ;'HR de ancho'
c) &alve el reporte como -raNResC'R./'
EJEMPLO $A
nisporst
N; ?ia 9ahia
&ao -aulo
9razil
OW @theletics
6NMC (aSashi 9lvd'
OsaSa
Wapan
'
'
'
2.+odifi4ue el valor de repeticin para lograr 4ue las eti4uetas aparezcan como lo
muestra el ejemplo N9, apareadas de dos en dos' &alve el reporte como -raNRes;'R./'
EJEMPLO $B
nisporst OW @theletics
N; ?ia 9ahia 6NMC (aSashi
&ao -aulo OsaSa
9razil Wapan
AAOSA Oracle Reports 6i 41-88
3.Escriba la carta indicada0
Estimados se2ores 9ig WohnXs &ports Emporium,
Gracias por ser uno de nuestros ms brillantes clientes desde el >GB&E-BA;'
*asta la fecha, ustedes nos han colocado un monto 4ue asciende a C>;>A:H'
.ebido a lo anterior, hemos decidido ofrecerles un descuento de C>;>A:'H
en su pr7imo pedido'
Esperamos continuar suministrndoles productos con la ms alta calidad #
&ervicio'
@tentamente,
=ombre de los integrantes del curso'
a) +uestre slo clientes cu#as rdenes colocadas totalicen YC>>,>>> o ms'
b) &alve el reporte como -raNRes:'R./ # ci)rrelo'
AAOSA Oracle Reports 6i 42-88
8
LAYOUT &RAMES, &IELDS Y BOILERPLATES
(,1, &RAMES
tilice los frames para0
.ividir el reporte en secciones'
@segurarse 4ue los objetos se impriman juntos en una misma pgina'
+ostrar informacin sumarizada relativa a todos los objetos del frame'
(,2, CON*ENCIONES DE NOMBRES PARA LOS DISTINTOS &RAMES DE UN REPORTE
RQR93?C5-QB5/:3S Repeating frame para los campos relacionados'
MQR93?C5-QB5/:3SQ+DR /rame fijo para boilerplate del encabezado'
MQR93?C5-QB5/:3SQ!RP&R /rame para todo el la#out'
?QR93?C5-QB5/:3SQ&TR /rame fijo para los summar# fields'
(,3, PROPIEDADES DE UN &RAME O REPEATIN! &RAME
T6?6T34 contract, e7pand, fi7ed, variable'
.ireccin de impresin'
M3<3 739J09-4 mantiene los objetos dentro de su objeto padre'
,os frames, suelen ser contenedores de otros objetos como repeating frames #
campos' ,os repeating frames a su vez son tambi)n contenedores de campos #
usualmente se relacionan directamente con grupos del .ata +odel en la jerar4u1a'
Estos objetos son creados automticamente por el Report <izard # rara vez, el
programador se ve en la necesidad de crearlos' @l igual 4ue otros objetos de Reports,
tanto los frames como los repeating frames tienen propiedades 4ue pueden ser
establecidas al momento del dise2o, o en algunos casos, pueden ser modificadas en
tiempo de ejecucin'
AAOSA Oracle Reports 6i 43-88
(,4, &IELDS
$ontiene una columna, variable o parmetro del .ata +odel'
?ariables del sistema o parmetros del sistema0 ZcurrentEdate,
ZlogicalEpageEnumber, ZpanelEnumber, Zph#sicalEpageEnumber,
ZtotalElogicalEpages, ZtotalEph#sicalEpages'
(,#, PASOS PARA CREAR UN &IELD EN EL EDITOR LAYOUT
&eleccione la herramienta para crear campos de la barra de herramientas'
*aga clic # dibuje un rea donde desea 4ue aparezca el campo'
$on el botn derecho del ratn seleccione las propiedades0 especifi4ue nombre, tipo
de dato, mscara de impresin etc'
$ierre la hoja de propiedades'
$uando el campo definido es sobre una de las variables del sistema para pgina o
paneles es posible especificar como se calcularn los n5meros de las pginas
haciendo clic en el botn page numbering'
AAOSA Oracle Reports 6i 44-88
(,6, TIPOS DE BOILERPLATE
D-J6/;2 &iempre se generan dos objetos boilerplate0 uno para la
eti4ueta # otro para cada campo'
EP2-596; &0;- +uestra el contenido de un te7to o imagen de un archivo en
tiempo de ejecucin'
+-556?0-9261 <- T-P2 G
D56H09B
&e crea te7to o dibujo utilizando las herramientas propias
de Reports'
(,$, BOILERPLATE TIPO TELT
&eleccione la herramienta tipo te7to del toolbar del la#out editor # dibuje un rea
donde desea aparezca el te7to'
(ipee el te7to utilizando el retorno de carro si es necesario'
*aga clic fuera del objeto te7to para salir del modo creacin te7to'
-ara editar el te7to, haga doble clic sobre el mismo'
(,(, BOILERPLATE ELTERNAL &ILE
AAOSA Oracle Reports 6i 45-88
&eleccione /ile BF !mport BF (e7t desde el la#out editor'
&eleccione el tipo de objeto a importar0 te7t, image o dra6ing'
Especif14ue el formato en la lista de valores'
&eleccione la calidad de imagen re4uerida'
AAOSA Oracle Reports 6i 46-88
LABORATORIO 8
1. @bra el reporte -raNRes:'R./, cambie las caracter1sticas del mismo, tal 4ue0
a )=ombre del cliente con letra (imes =e6 Roman, cursiva de tama2o C;'
b ),a cantidad de descuento en letra $ourier, negrita de tama2o C>'
c )&alve el reporte como -raGResC'R./, no lo cierre'
2. $opie el reporte -raGResC'R./ como -raGRes;'R./0
a) +odifi4ue el reporte -raGRes;'R./, colocndole como margen del borde superior
(top margin" ; pulgadas, es decir, dejar ; pulgadas de margen al repeating frame'
b) En el borde superior, cree un boilerplate para desplegar el nombre # la direccin de la
compa21a en donde usted trabaja' Wustifi4ue el te7to a la derecha'
c) En el mismo borde superior, adicione un campo para desplegar la fecha de ho#'
d) &alve el reporte # ci)rrelo'
3. @bra el reporte -raHResM'R./ # salve como -raGRes:'R./ # modif14uelo as10
a )$ree una pgina de encabezado (*eader -age" # despliegue un archivo de
e7tensin (!/ (seleccione cual4uiera 4ue tenga disponible" como un boilerplate fijo'
@dicione un t1tulo al reporte'
b )@dicione una pgina final ((railer page" la cual despliegue la fecha de ho# con un
te7to 4ue diga0 QEste reporte fue ejecutado el0R'
AAOSA Oracle Reports 6i 47-88
9
PROPIEDADES COMUNES A LOS OBJETOS DEL LAYOUT
%,1, PROPIEDADES COMUNES
,os cuatro objetos 4ue comparten propiedades comunes son0 frames, repeating
frames, fields, boilerplate' (ales propiedades son 0 sizing, pagination # printing and
formating'
%,2, SIZIN!
&0P-< El tama2o es id)ntico al del la#out'
EP:69< El tama2o puede ser ms largo al del la#out'
C3925672 El tama2o puede ser ms pe4ue2o al del la#out'
*6506C;- El tama2o puede ser ms largo o pe4ue2o al del la#out'
%,3, PA!INATION
P6B- B5-6A B-J35- .emora el formateo del objeto actual # sus hijos e7terno (v1a un
anchor" hasta la pr7ima pgina' @l hacer un page breaS before
sobre un repeating frame provoca un salto de pgina antes de
la primera ocurrencia, no para cada registro'
P6B- B5-6A AJ2-5 .emora el formateo solamente de los hijos e7ternos, es decir,
solo esos objetos son anclados' @l hacer un page breaS after
sobre un repeating frame provoca un salto de pgina despues
de la 5ltima ocurrencia, no para cada registro'
P6B- P532-72 !ndica si se mantendrn el objeto # sus hijos internos en la
misma pgina lgica' En este caso, el frame principal debe
abarcar todos los objetos # puede ser contract, e7pand o
variable'
"--: H02I 697I3509B
3CE-72
!ndica si se mantendr el objeto actual # el objeto al cual esta
anclado en la misma pgina lgica' &i se desea mantener
varios objetos en la misma pgina, utilice page protect en el
frame principal'
%,4, &ORMAT TRI!!ERS
&e refiere a cdigo -, % &8, 4ue Reports ejecuta cada vez 4ue formatea el
objeto 4ue contiene el trigger (frames, repeating frames, fields, boilerplate"' Es posible
utilizarlos para cambiar dinmicamente los atributos de un objeto dependiendo de
ciertas condiciones'
N3264 los format triggers sern estudiados con ma#or detalle en lecciones posteriores'
AAOSA Oracle Reports 6i 48-88
%,#, PASOS PARA ASI!NAR PROPIEDADES A OBJETOS DEL MISMO TIPO
&eleccione los objetos en comunes en el ,a#out'
&eleccione (ools BF -roperties'
$ambie las propiedades comunes'
,a paleta de propiedades tendr el t1tulo Q+ultiple &electionR junto a cada uno de los
objetos seleccionados para su edicin'
&i se desea cambiar las propiedades comunes a los objetosD se modifica la
propiedad en cuestin, # los cambios son trasladados a todos los objetos
seleccionados'
AAOSA Oracle Reports 6i 49-88
LABORATORIO 9
1 .$rear un reporte tabular, 4ue muestre el lastEname # el title de los empleados
(&EE+-"0
a) @dicione un boilerplate # un ancla para mostrar, a la derecha # al centro de los datos
desplegados, el siguiente mensaje, dentro de un recuadro0
,ista de empleados
.e nuestra compa21a
b) $orra # che4uee 4ue el te7to, efectivamente se presenta en el lugar deseado'
c) $orra de nuevo el reporte, desplegando slo C> registros' El boilerplate creado debe
mostrarse en la posicin indicada en el punto anterior"'
d) &alve el reporte como -A8C'R./ # ci)rrelo'
Esta #ailidad de anlar, puede ser usada para posiionar botones que lla$en a otros
reportes (Reportes tipo Drill)Do*n+, de una $anera adeuada.
Para anlar, d,%ale a su instrutor que le asista si tiene dudas.
Seleione !erra$ienta de anlar en la paleta, -n li en el !i"o y doble li en el padre.
AAOSA Oracle Reports 6i 50-88
10
PROPIEDADES ESPEC)&ICAS DE CADA OBJETO DEL LAYOUT
1',1, PROPIEDADES DE LAS SECCIONES DEL REPORTE
N3?C5- <- ;6 P53:0-<6< S0B90J076<3
<idth Es el tama2o f1sico (ancho" de la pgina en la unidad de
medida del reporte inclu#endo el margen' El tama2o por
defecto es de G'H pulgadas' ,os m7imos permitidos son
HC; pulgadas, C:C; cent1metros :6G6M puntos'
*eight Es el tama2o f1sico (alto" de la pgina en la unidad de
medida del reporte, inclu#endo el margen' El tama2o por
defecto es de CC pulgadas' ,os m7imos permitidos son
HC; pulgadas, C:C; cent1metros :6G6M puntos
*orizontal -anels per -age @ncho de la pgina lgica en unidades de pginas
f1sicas' El defecto es CD es decir el tama2o de pgina
lgica es igual al de la f1sica' -uede tomar cual4uier
valor entero positivo desde C hasta H>'
?ertical -anels per -age @lto de la pgina lgica en unidades de pginas f1sicas'
El defecto es CD es decir el tama2o de pgina lgica es
igual al de la f1sica' -uede tomar cual4uier valor entero
positivo desde C hasta H>
Orientation .efine la orientacin en la salida de esta seccin del
reporte' &u posibles valores son0 .efault, portrait #
landscape' .efault toma el valor de la variable
OR!E=(@(!O=' -ortrait formatea la salida en sentido
vertical' ,andscape formatea la salida en sentido
horizontal'
.istribution .efine la distribucin de esta seccin del reporte'
AAOSA Oracle Reports 6i 51-88
1',2, PROPIEDADES DEL OBJETO REPEATIN! &RAME
N3?C5- <- ;6 P53:0-<6< S0B90J076<3
&ource =ombre del grupo del modelo de datos del cual
proviene la data del repeating frame'
-rint .irection .ireccin en la cual los registros sern impresos, la
cual puede ser0 .o6n, @cross, @cross%.o6n o
.o6n%@cross'
+a7imum Records per -age +7imo n5mero de registros 4ue pueden desplegarse
sobre una pgina simple'
+inimum <ido6 Records +1nimo n5mero de registros obtenidos del grupo 4ue
pueden ser desplegados hasta el l1mite inferior (bottom"
de la pgina'
$olumn +ode &i se mantendrn columnas para cada registro a
trav)s de varias pginas'
*orizontal % ?ertical space
9et6een /rames'
Espaciado entre registros, horizontal #%o verticalmente'
,os m7imos permitidos son HC; pulgadas, C:C;
cent1metros :6G6M puntos'
AAOSA Oracle Reports 6i 52-88
1',2,1, PRINT DIRECTION4
n reporte puede contener una mezcla de direcciones de impresin (-rint
.irections"'
P5092 D05-72039 D-1750:7089
.o6n !mprime los registros en forma secuencial de arriba hacia
abajo en la pgina' @l final de la pgina, el resto de
registros son impresos en la siguiente pgina'
.o6n%@cross !mprime los registros en forma secuencial de arriba hacia
abajo de la pgina # luego hacia la derecha de la pgina
ocupando una nueva columna del reporte, al final de la
pgina los registros restantes se imprimen en una nueva
pgina'
@cross !mprime los registros en forma secuencial atravesando la
pgina de iz4uierda a derecha, al llegar al margen
derecho, los registros restantes sern impresos en una
nueva pgina'
@cross%.o6n !mprime los registros en forma secuencial atravesando la
pgina de iz4uierda a derecha, al llegar al margen
derecho los registros se imprimen hacia abajo en la
pgina, al llegar al fin de pgina los registros faltantes
sern impresos en una nueva pgina'
1',3, PROPIEDADES ESPEC)&ICAS DE LOS CAMPOS =&IELD PROPERTIES>

E7isten unas propiedades 4ue son e7clusivas de los campos'
N3?C5- <- ;6 P53:0-<6< S0B90J076<3
&ource Origen 4ue corresponde a una columna del .ata +odel
asociada a este campo'
.ata (#pe (ipo de dato 4ue corresponde a este campo
<idth (ama2o en caracteres del campo
?alue !f =ull .efine un valor 4ue sustituir el valor del campo si
dicho valor es nulo' El valor a sustituir debe ser
compatible con el tipo de datos de la columna'
9reaS Order .efine el orden en 4ue deben mostrarse los valores de
las columnas' -osibles valores0 @scending,
.escending, =one'
/ormat +asS $mo desplegar los datos en el reporte' &e puede
indicar un formato de fecha o de n5mero para campos
de ese tipo' ,os campos tipo carcter no tienen una
mscara vlida'
+scaras para datos =um)ricos # (ipo .ate0
AAOSA Oracle Reports 6i 53-88
SF?C3;31 D-1750:7089
MN176561 N/?U50761
= .espliega un d1gito' =o despliega ceros a la iz4uierda
ni a la derecha'
A .espliega un d1gito' +uestra espacios en blanco
sustitu#endo ceros a la iz4uierda'
> .espliega un d1gito, inclu#endo ceros a la iz4uierda'
Y .espliega el s1mbolo Y'
, .espliega el s1mbolo local de la moneda, dependiendo
del valor del =,&E,@=G'
V .espliega V'
9 .espliega un espacio en blanco sustitu#endo ceros'
MN176561 :656 T0:3 D62-
++ =5mero del +es desde >C hasta C;'
+onth =ombre del mes' Ejemplo0 Wanuar#'
.dth =5mero cardinal de los d1as' Ejemplo C st'
1',4, PROPIEDADES DEL BOILERPLATE
E7iste un tipo de objeto boilerplate 4ue creamos desde or1genes e7ternos
mediante el uso de la herramienta L09A &0;- T33; en el toolbar, cu#as propiedades
describimos'
N3?C5- P53:0-<6< S0B90J076<3
&ource /ilename Especifica el nombre del archivo 4ue se desea adjuntar
al reporte (linS"' -ara definir el enlace, Reports nos
abre una ventana hacia el files#stem de la m4uina
donde nos encontramos, de manera de facilitar su
especificacin'
&ource /ile /ormat Especifica el tipo del archivo, pudiendo ser (e7t,
!mage, $G+, Oracle .ra6ing /ormat, !mage R,'
En un ambiente bitmapped, los siguientes son formatos vlidos de archivos0
&35?623 <- A57I0@3 D-1750:7089
(e7t @&$!!'
!mage E7tensiones0 (!//, W/!/, 9+-, -$[, -!$(, G!/,
$@,&, R@&, O!/, -$., etc' &e puede ver una lista de
formatos vlidos en la opcin /ileBBF!mport BF !mage'
$G+ Grficos de computacin +etafile'
Oracle .ra6ing
/ormat
na salida de esta herramienta'
AAOSA Oracle Reports 6i 54-88
-asos a seguir para crear un ,inS /ile Object
En el toolbar del la#out editor, hacer clic en la herramienta ,inS /ile (ool' *acer
clic sobre el editor # arrastrar para crear el objeto con el tama2o re4uerido'
En el Object =avigator, cambiar el nombre del objeto'
*acer doble clic en el icono del objeto para desplegar la hoja de propiedades'
!ntroducir el nombre del linS file 4ue desee incluir con su respectivo formato'
El uso fundamental de estos objetos, es mostrar su contenido en forma dinmica,
es decir 4ue )ste cambia automticamente cuando el objeto sea alterado en el archivo
origen' El contenido del objeto es actualizado cuando0
&e hace clic en OO en la hoja de propiedades'
&e abre el reporte (en el Report .esigner"'
&e corre el reporte'
AAOSA Oracle Reports 6i 55-88
LABORATORIO 10
1. $rear un reporte con ruptura por cliente usando el 4uer# siguiente0
select t*+ID, t*+NAME, t*+ADDRESS, t*+ITY, t*+STATE,
t*+.IP_"DE, t*+"!NTRY, t*+P)"NE, t*+REDIT_RATIN/,
t0+"RD_ID, t0+ITEM_ID, t0+PR"D!T_ID, t0+1!ANTITY
from S_!ST"MER t*,
S_"RD t&,
S_ITEM t0
#$ere t*+ID % t&+!ST"MER_ID
23d t&+ID % t0+"RD_ID
a )$ree la ruptura re4uerida en el .ata +odel # seleccione estilo +aster%.etail, altere la
secuencia de las columnas en los grupos, de ser necesario, # restrinja la amplitud de
los valores como se indica en el cuadro siguiente0
C3;/?96 A97I3
=@+E ;>
@..RE&& ;>
$!(U CH
&(@(E C>
\!-E$O.E C>
$O=(RU CH
-1dale a su instructor 4ue le muestre un modelo del estilo del reporte'
b )Observe si los registros de los clientes contin5an sobre ms de una pgina0
i" Establezca el tama2o de pgina a H pulgadas'
ii" $olo4ue : pulgadas al repeating frame de clientes # aseg5rese 4ue el tama2o
est fijado verticalmente
iii" ,o anterior previene 4ue la informacin de ms de un cliente se despliegue en la
misma pgina, sin embargo ha# un m)todo alternativo para lograr el mismo
efecto, el cual consiste en la restriccin de registros usando las propiedades
espec1ficas del objeto'
c )@segure 4ue los datos del cliente, se despliegan al tope de cada pgina'
d )&alve el reporte como -C>8C'R./'
AAOSA Oracle Reports 6i 56-88
2. @bra el reporte -raNRes;'R./ # slvelo como -raC>Res;'R./
a )+odifi4ue el la#out de manera 4ue las eti4uetas se impriman sobre una pgina con
relleno a color (solid fill" # asegure 4ue se desplieguen por orden alfab)tico del
nombre de cliente'
b )@dicione espaciamiento de ';H pulgadas entre cada columna de eti4uetas # 'H
pulgadas entre cada registro'
c )&alve el reporte'
3. &alve el reporte -raC>Res;'R./ como -raC>Res:'R./'
a) +odifi4ue el reporte de manera 4ue se impriman slo dos eti4uetas por pgina'
b) &alve el reporte'
4. @bra el reporte -raMRes6'R./ # &alve como -C>ResM'R./'
) $rear un *eader -age usando un linS file para desplegar el contenido de un archivo
con e7tensin '(!/ (el 4ue ud' tenga disponible"'
) &alve el reporte'
5. @bra el reporte -raC>Res:'R./ como -raC>ResH'R./'
a) @ltere la mscara del salario de los empleados, para desplegar el s1mbolo de dlar #
la coma para indicar el separador de miles'
b) @dicione la fecha de ho# en el margen superior iz4uierdo, con formato similar al
siguiente0 /rida#, /ebruar# ;M CAAN
c) &alve el reporte'
AAOSA Oracle Reports 6i 57-88
11
REPORTES TIPO MATRIZ Y SUMARIOS
11,1, V UW ES UN REPORTE TIPO MATRIZ X
Es una estructura 4ue consiste de0
na columna de valores de registros
na l1nea de valores de registros'
n grupo de celdas 4ue contienen datos relacionados a la columna # fila de
valores'
-odemos construirlo usando uno o varios 4ueries' Este tipo de reporte re4uiere al
menos de cuatro grupos0 tres grupos de datos # un grupo especial llamado
crossEproduct'
*-926E61 <- /165 /9 ./-5G4
sualmente, un 4uer# simple es la forma ms eficiente de construir reportes
tipo matriz, #a 4ue se producen menos accesos a la base de datos'
U169<3 ?Y;20:;-1 ./-50-14
-ara joins mu# complejos entre varias tablas, se puede construir el modelo
usando m5ltiples 4ueries lo cual tiene ventajas # desventajas0
*-926E614
+s fcil de entender
+a#or facilidad de mantenimiento'
D-1@-926E614
Re4uiere accesos adicionales a la base de datos'
11,2, V UW ES UN !RUPO CROSSQPRODUCT X
!dentifica la interseccin de dos grupos padres, es decir, el grupo 4ue contiene los
valores de la columna # el grupo 4ue contiene los valores de la fila'
11,3, PASOS PARA CREAR UN REPORTE TIPO MATRIZ4 =CON UN SLO UERY>
-ara crear un reporte tipo matriz manualmente, siga los siguientes pasos0
.efinir el 4uer# en el data model editor (&e crea un grupo por defecto"'
AAOSA Oracle Reports 6i 58-88
$rear dos grupos de ruptura (breaS group" con los campos 4ue se deseen formar
la columna # fila principal del reporte'
Renombrar los grupos creados con identificaciones ms significativas'
&eleccionar la herramienta crossEproduct de la paleta de herramientas (a7b" #
hacer clic sobre ella # arrastrar a la regin alrededor de los dos grupos de ruptura
(breaS group"
!nvocar el Report <izard # seleccionar el estilo matri7 en el default la#out'
$orrer el reporte'
(ambi)n es posible crear el reporte matricial llamando al asistente .ata <izard0
&eleccione desde el men5 principal0 (ools BF .ata <izard'
+ar4ue el checS bo7 denominado +atri7 8uer# en la pesta2a 8uer#'
En la pesta2a Ro6s seleccione la columna del 4uer# 4ue corresponda a la fila de
la matriz'
En la pesta2a $olumns seleccione la columna del 4uer# 4ue corresponda a la
columna de la matriz'
En la pesta2a $ells seleccione la columna del 4uer# 4ue corresponda a las celdas
de la matriz'
En la columna (otals seleccione el campo a totalizar'
AAOSA Oracle Reports 6i 59-88
11,4, PASOS PARA CREAR UN REPORTE TIPO MATRIZ =CON MOLTIPLES UERIES>
.efinir los tres 4ueries
&eleccionar la herramienta crossEproduct haciendo clic sobre el icono a7b de la
paleta del toolbar del data model editor' *acer clic en el data model editor
arrastrando el cursor alrededor de los grupos padres'
.efinir los linS re4ueridos0
&i e7iste un constraint de clave fornea, hacer clic en el 1cono de linS tool, luego
hacer clic sobre el primer padre hacia el otro' Repetir la accin en forma inversa,
desde el segundo padre hacia el primero'
&i la clave fornea no e7iste, se define el linS en forma e7pl1cita0
*acer clic en la herramienta linS luego clic sobre el primer grupo padre en la clave a
usar # arrastrar hacia el otro grupo padre sobre el campo clave com5n al primero'
*acer clic en la herramienta linS, luego hacer clic sobre el segundo grupo padre en el
campo com5n con el otro grupo # arrastrarlo hacia ese otro grupo sobre el
mencionado campo com5n'
!nvocar el Report <izard # seleccionar el estilo de reporte matriz'
+arcamos las columnas 4ue no re4uieren ser mostradas'
$orrer el reporte'
11,#, CREAR SUMARIOS PARA LAS L)NEAS O COLUMNAS DEL REPORTE MATRICIAL
&eleccionar en el data model editor, la herramienta summar# column'
*acer clic dentro del grupo crossBproduct, ac los sumarios son desplegados
inmediatamente debajo de la barra de t1tulos # no tienen borde'
En el Object =avigator, cambie el nombre del sumario # haga doble clic para abrir la
hoja de propiedades del sumario'
&eleccione las propiedades correctas, tales como source, reset # product order
options'
11,6, ESTABLECIENDO EL PRODUCT ORDER OPTION
Esta opcin define cmo sern calculados los sumarios # determina dnde sern
ubicados en el reporte' -ara reportes tipo matriz simples (de un slo 4uer#", seleccione
el grupo 4ue contiene los valores 4ue se estn sumando'
AAOSA Oracle Reports 6i 60-88
LABORATORIO 11
1. $rear un reporte tipo matriz (+atri7 Report"0
a" se el 4uer# 4ue se muestra a continuacin0
select t*+NAME,
t&+PR"D!T_ID,
s4m536l5t&+PRIE,'7 8 36l5t&+1!ANTITY,'77 M"NT"
from S_!ST"MER t*,
S_ITEM t&,
S_"RD t0
#$ere t*+ID % t0+!ST"MER_ID
23d t&+"RD_ID % t0+ID
23d t&+PR"D!T_ID 9 :''''
;ro4< by t*+NAME,
t&+PR"D!T_ID
order by t*+NAME,
t&+PR"D!T_ID
b" +odifi4ue el ancho de las columnas se2aladas0
$olumna @ncho
=@+E ;>
+O=(O C>
c" &alve el reporte como -raCCResC'R./'
2. &alve el reporte -raCCResC'R./ como -raCCRes;'R./'
27 @dicione columnas de sumarizacin por producto'
b7 .) formato a los sumarios, recuerde 4ue d' puede cambiar las propiedades de
varios 1tems simultneamente'
c7 &alve el reporte'
AAOSA Oracle Reports 6i 61-88
12
REPORTES TIPO MATRIZ A*ANZADOS Y SUMARIOS
En Report 9uilder se pueden crear otros reportes tipo matriz, para manejar
resultados ms complejos, entre los cuales podemos mencionar0
Reportes +atri7 9reaS
Reportes =ested +atri7'
12,1, V UW ES UN REPORTE TIPO MATRIL BREA" X
,a estructura de un reporte tipo +atri7 9reaS consiste de un grupo de ruptura
(breaS group" 4ue contiene una matriz simple' ,a matriz simple est formada por cada
valor de ruptura (breaS value" en el grupo' -or cada diferente valor de ruptura pueden
ser aplicados diferentes valores para columnas # filas' En un modelo de datos de 4uer#
simple, cada matriz contiene slo las columnas # l1neas aplicables al valor de ruptura'
] 8u) es un reporte +atri7 9reaS en el modelo de datos (.ata +odel" L
&e pueden crear rupturas adicionales en el modelo de datos mediante la
definicin de un grupo padre sobre (arriba" el grupo crossBproduct'
Es recomendable usar el modelo de 4uer# simple cuando se desea desplegar
solamente estas combinaciones 4ue son relevantes para cada grupo de ruptura'
] $mo crear el Grupo $rossB-roduct para reportes +atri7 9reaS L
El crossBproduct debe rodear solamente a los grupos de dos dimensiones, no al
grupo padre' &i se ha creado el crossBproduct antes 4ue el breaS group, se puede usar
la herramienta (a7b", haciendo clic # arrastrando a la regin alrededor del grupo
bidimensional solamente'
(ambi)n podemos llamar al asistente .ata <izard 4uien nos a#udar a construir
un reporte matricial con rupturas de control' -ara hacerloD siga las siguientes
indicaciones0
$ree el 8uer# 4ue servir como fuente de datos para el reporte' @seg5rese de
crear las rupturas de control necesarias inclu#endo la o las columnas 4ue se
utilizarn como rupturas de control'
!nvo4ue el asistente Reports <izard0 (ools BF Report <izard'
@seg5rese de seleccionar el estilo +atri7 6ith Group en la pesta2a de estilo de
reporte'
Recuerde seleccionar la o las columnas de ruptura de control'
$orra el reporte # aj5stelo desde el ,ive -revie6er'
AAOSA Oracle Reports 6i 62-88
12,2, V UW ES UN REPORTE TIPO NESTED MATRIZ X
Es una estructura 4ue contiene grupos anidados'
] 8u) es un reporte tipo =ested +atri7 en el modelo de datos L
&e crea un grupo de ruptura adicional en el modelo de datos de la matriz'
@segura 4ue el grupo crossBproduct re5ne los grupos adicionales tanto como los grupos
originales'
] $mo crear el grupo $rossB-roduct para reportes tipo =ested +atriz L
-ara crearlo, tambi)n se usa la herramienta (a7b", sobre la cual se hace clic, se
mueve el cursor hacia el data model haciendo clic # arrastrndolo alrededor del breaS
group # de los dos grupos de la matriz' El grupo crossBproduct debe ser creado despu)s
de crear los grupos 4ue le pertenecern'
] $mo crear &umarios para Reporte tipo =ested +atri7 L
&eleccionar la herramienta summar# column, hacer clic dentro del grupo crossB
product'
AAOSA Oracle Reports 6i 63-88
LABORATORIO 12
1 .$rear un nuevo reporte usando el 4uer# 4ue se indica0
select to_c$2r5t*+DATE_"RDERED,M"NT),YYYY7 MES,
t&+NAME,
t0+PR"D!T_ID,
s4m536l5t0+PRIE,'7 8 36l5t0+1!ANTITY,'77 M"NT"
from S_"RD t*,
S_!ST"MER t&,
S_ITEM t0
#$ere t&+ID % t*+!ST"MER_ID
23d t0+"RD_ID % t*+ID
23d t0+PR"D!T_ID 9 :''''
;ro4< by to_c$2r5t*+DATE_"RDERED,M"NT),YYYY7,
t&+NAME,
t0+PR"D!T_ID
order by *,&,0
a" $rear un reporte tipo matriz con ruptura, como lo indi4ue su instructor'
b" $olo4ue un ancho a las columnas, como se indica0
$olumna @ncho
+O=(* CH
=@+E ;>
-RO.!. C>
?@,E C>
a )&alve el reporte como -raC;ResC'R./'
2.$rear un nuevo reporte $opiando el reporte -raC;ResC'R./, como -raC;Res;'R./ #
modificar el .ata +odel"'
) $ree el reporte de tipo matriz anidado (=ested +atri7"' $omo le indicar su instructor'
) &alve el reporte como -C;8;'R./
AAOSA Oracle Reports 6i 64-88
13
CREACIN Y USO DE PARMETROS
13,1, CREACIN DE PARMETROS DE USUARIOS
n parmetro de usuario es un objeto 4ue podemos crear para ser usado por el
reporte en tiempo de ejecucin' -ermite entre otras cosas, configurar datos del reporte,
establecer criterios de b5s4ueda # ordenamiento, etc'
-odemos hacer referencia a un parmetro de usuario en cual4uier parte de un 4uer#0
-ara restringir los valores de la clusula <*ERE del &E,E$('
&ustituir cual4uier parte de un comando &E,E$('
&ustituir una columna o e7presin en la lista del &E,E$('
P6131 :656 75-65 /9 P65N?-253 <- U1/65034
En el object navigator, crear el parmetro haciendo clic al icono create(K" sobre el
nodo ser -arameter dentro del .ata +odel'
Renombrar el parmetro haciendo doble clic sobre el 1cono del objeto (parmetro"'
?erifi4ue el tipo de datos # su amplitud' -uede introducir un valor inicial si se
desea'
*acer $lic en OO, para cerrar la hoja de propiedades'
AAOSA Oracle Reports 6i 65-88
P53:0-<6<-1 <- ;31 P65N?-2531 <- U1/65031
P53:0-<6< S0B90J076<3
.atat#pe Especifica si el valor del parmetro es carcter, num)rico o
tipo fecha' -or defecto es tipo num)rico'
<idth Especifica el ancho m7imo disponible para el valor del
parmetro'
!nput +asS -ermite a los usuarios introducir el parmetro usando un
formato espec1fico'
!nitial ?alue Especifica el valor a usar, inicialmente en caso de 4ue no
se introduzca ninguno'
?alidation (rigger ?alida el valor del parmetro mediante una funcin en
-,%&8,'
,ist of ?alues -ermite definir una lista de posibles valores a especificar
para este parmetro'
R-J-5-97069<3 P65N?-2531 -9 -; /-5G <- /9 R-:352-4
*a# dos formas de referenciar los parmetros en un 4uer#0 usando 9ind
References o ,e7ical References'
9ind References reemplaza un simple valor o e7presin, para hacer referencia
al parmetro se le coloca como prefijo dos puntos (0"'
na ,e7ical References reemplaza cual4uier parte del comando &E,E$(,
tales como nombre de columnas # valores para las clusulas /RO+, <*ERE #
OR.ER 9U' -ara referenciar este tipo de parmetro debe anteponerse el prefijo
ampersand (Z"'
AAOSA Oracle Reports 6i 66-88
13,2, CREANDO LISTAS DE *ALORES
-odemos crear listas de valores desde las cuales los usuarios seleccionen los
valores vlidos' -ara parmetros tipo bind, podemos crear listas de valores estticas o
tambi)n seleccionar valores desde la base de datos en tiempo de corrida' -ara los
parmetros tipo l)7ico, slo podemos usar listas de valores estticas'
P6131 :656 75-65 /96 ;0126 <- @6;35-1 -12N20764
En la hoja de propiedades del parmetro, hacer clic sobre la propiedad ,ist of
?alues' El botn de valores estticos es seleccionado por defecto'
!ntroduzca un valor en el campo # haga clic sobre el botn .dd .
Repita la operacin por cada valor 4ue re4uiera en la lista'
*aga clic en OO para aplicar los cambios # cerrar la hoja de propiedades'
&i desea remover alg5n valor, haga clic sobre )l # presione el botn Remove
P6131 :656 75-65 /96 L0126 <- *6;35-1 D09N?0764
En la hoja de propiedades del parmetro, hacer clic en ,ist of ?alues
*acer clic en el botn Q&E,E$( &tatementR'
AAOSA Oracle Reports 6i 67-88
!ntroduzca el comando &E,E$( para obtener los valores a ser mostrados en la
lista' -ueden ser incluidas varias columnas'
*acer clic en OO, para aplicar los cambios # cerrar la hoja de propiedades'
P65N?-2531 <-; S012-?64
,a herramienta Reports, provee un grupo de parmetros del sistema, los cuales
pueden ser usados para la definicin de la salida del reporte'
P65N?-253 E1:-70J0767089 <- U13 *6;35-1 D-J6/;2
9@$OGRO=. &i el reporte va a ser corrido en
modo bacSground'
Ues, =o =o
$O-!E& =5mero de copias si el
dispositivo de salida es un
impresor'
$ual4uier
entero'
C
$RRE=$U &1mbolo de la moneda ma7' M
caracteres
.E$!+@, &1mbolo indicador de decimal' n carcter
simple'
.E&/OR+@( .efinicin del dispositivo de Ejemplo 0 dflt, dflt
AAOSA Oracle Reports 6i 68-88
salida, es ignorado si el tipo de
dispositivo es &creen o previe6'
@plicable slo para correr bajo
modo carcter'
pslanG>
.E&=@+E =ombre del dispositivo de salida,
tal como nombre del archivo,
impresor, usuario del +ail' Es
ignorado para dispositivos de
salida tipo &creen # previe6'
^reportF'
lis
.E&(U-E (ipo del dispositivo de salida /ile, -rinter,
mail, screen,
mail, previe6
&creen
+O.E &i el reporte va a ser ejecutado
en modo carcter o bitmapped'
bitmap, caracter default
OR!E=(@(!O= .ireccin de la impresin en la
hoja
portrait,
landscape
portrait
-R!=(WO9 &i la caja de dilogo es
desplegada o no'
Ues, =o Ues
(*O&@=.& &1mbolo indicador de miles' $ual4uier
carcter simple'
13,3, EDICIN DE LA &ORMA DE PARMETROS4
-odemos definir la forma para introducir los parmetros a los reportes, para
sustituir la 4ue trae por defecto' -ara lograr esto usamos el editor de la forma de
parmetros, 4ue es similar al ,a#out Editor'
C5-67089 <- ;6 &35?6 <- P65N?-25314
@brir el editor de formas de parmetros haciendo doble clic en el icono asociado
del Object =avigator'
$rear los campos, te7tos # dems objetos re4ueridos, de acuerdo al dise2o'
Renombrar cada objeto # asegurarse de 4ue se introdujo un origen vlido a cada
campo'
C5-69<3 /96 &35?6 <- P65N?-2531 :35 D-J-7234
(odos los reportes 4ue se crean, tienen asociada una forma para introducir los
parmetros bsicos de sistema, la cual podemos alterar para mejorar su apariencia'
-asos para crear la forma por defecto0
&elecciones en el men5 la opcin (oolsBBBF -arameter /orm 9uilder, aparecer
una caja de dilogo'
&i se desea, modifi4ue el t1tulo, mensaje # status de la l1nea de te7to' Estas
l1neas son desplegadas en el tope de la forma de parmetros, al ejecutar el
reporte'
&eleccione los parmetros 4ue sean necesarios'
+odifi4ue el te7to de la eti4ueta de los parmetros seleccionados, si se desea'
*aga clic en OO, para crear la forma de parmetros por defecto'
AAOSA Oracle Reports 6i 69-88
Nota: Si la #or$a de par/$etros soliita $u!os datos, puede que los $is$os estn en
p/%inas di#erentes, siendo neesario na0e%ar on los botones ne1t y Pre0 para 0erlos.
AAOSA Oracle Reports 6i 70-88
LABORATORIO 13
1. @bra el reporte -raC>ResC'R./ # slvelo como -raC:ResC'R./0
a) $rear un parmetro num)rico tipo bind llamado -E$&(O+ER'
b) $olo4ue como valor por defecto un id de cliente vlido'
c) $rear la referencia al parmetro -E$&(O+ER en el 4uer#, para restringir las
ordenes a emitir en el listado' (&lo las del cliente indicado"'
d) @dicione una lista de valores para seleccionar id vlidos de clientes, obtenidos
directamente de la tabla &E$&(O+ER' =o permita la introduccin de otro valor no
vlido' ,a lista de valores deber mostrar el nombre del cliente, no su id'
e) $orra el reporte varias veces, usando diferentes valores de id de clientes'
f) &alve el reporte'
2. @brir el reporte -raHResH'R./ # slvelo como -raC:Res;'R./0
) $rear un parmetro l)7ico, para permitir a los usuarios introducir el orden de emisin
de los datos del reporte, en tiempo de ejecucin' @c deber reemplazar la clusula
OR.ER 9U del reporte, por el parmetro l)7ico creado' $olo4ue como valor inicial del
parmetro, el ordenamiento por el campo 8@=(!(U'
) @dicione una lista de valores esttica 4ue muestre las alternativas de ordenamiento
definidas' =o permita la introduccin de otras clusulas de ordenamiento no
definidas'
) +ar4ue en la pantalla de parmetros predeterminada los parmetros .E&(U-E,
.E&=@+E, .E&/OR+@( # $O-!E& para ser visualizados en el momento de
ejecutar el reporte'
) $orra el reporte para observar su funcionamiento'
) &alve el reporte'
AAOSA Oracle Reports 6i 71-88
14
USANDO TRI!!ERS EN LOS REPORTES
14,1, TRI!!ERS DE REPORTS
,a herramienta Reports .esigner permite usar -,%&8, # agregar funcionalidad
procedimental mediante los triggers' E7isten tres tipos de triggers0
A 90@-; <-; R-:352-4 donde el trigger se dispara en los diferentes estados de
ejecucin del reporte'
A 90@-; <-; D626 M3<-;4 para columnas tipo formula, cada vez 4ue la misma est
siendo procesada, para los filtros de los grupos, disparndose en cada registro del
grupo # en la validacin de los parmetros del reporte'
A 90@-; <-; L6G3/24 son triggers de formatos sobre cual4uier objeto del la#out
(e7cepto anclas", en el momento 4ue se est procesando el objeto' En estos
triggers no estn permitidas las instrucciones de manipulacin de datos .+,
(!nsert, pdate, .elete"'
T0:31 <- 739125/77039-1 PLDSL -9 ;31 R-:352-14
-odemos codificar construcciones -,%&8, 4ue retornan un valor' n pacSage
en -,%&8, permite funciones mi7tas, procedimientos, e7cepciones, etc' n pacSage
puede consistir de un pa4uete de especificaciones solamente o de especificaciones #
un cuerpo (bod#"'
$onstrucciones -,%&8, vlidas en objetos de Reports0
P67A6B- P537-</5-1 &/972039
N0@-; 14
-,%&8, librerias
-,%&8, (Reports>
L L L
N0@-; 24
Repeating /rame
/rame,fields,
9oilerplate,group,
-armetros #
(riggers
L
N0@-; 34
$olumnas de
/rmulas
L
N0@-; 44
9uttoms (botones"
L L
AAOSA Oracle Reports 6i 72-88
OCE-231 ./- :/-<-9 5-235965 /9 @6;354
T0:3 <- OCE-23 *6;35-1 *N;0<31 R-1/;26<3 10 -1 J6;13
Report (rigger (rue%/alse .etiene ejecucin
Group filter (rue%/alse =o muestra el registro
?alidation (rigger (rue%/alse Retorna un parmetro
/ormat (rigger (rue%/alse =o formatea el objeto
/ormula $olumn $omputation not applicable
14,2, TRI!!ERS DE REPORTES
-odemos tener acceso a los triggers de reportes a trav)s del Object =avigator
abriendo el nodo de triggers # haciendo doble clic en el icono del triggers 4ue deseamos
abrir'
T50BB-5 M3?-923 <- <01:65651- U16<3 :656
9efore -arameter /orm @ntes de correr la forma
de parmetros'
@ccesar # cambiar los
valores de los parmetros (el
inicial o las l1neas de
comando", variable globales'
$rear (ablas temporales,
insertar en tablas'
@fter -arameter /orm .espues de correr la
forma de parmetros'
@ccesar # cambiar valores de
parmetros' $rear tablas
temporales e insertar en
tablas'
9efore Report @ntes de ejecutar un
reporte'
.efinir valores para
parmetros, ejecutar .+,
previo a la ejecucin del
reporte, etc'
9et6een -ages @ntes de 4ue cada pgina
sea formateada a
e7cepcin de la primera'
!nsertar # modificar valores
en las tablas'
@fter Report .espues de salirse del
previe6er o despu)s de
enviar la salida a su
destino'
,impia el procesamiento
inicial borrando las tablas
temporales'
AAOSA Oracle Reports 6i 73-88
14,3, TRI!!ERS DEL DATA MODEL

!53/: &0;2-50 samos un group filter (/iltro de Grupo" cuando necesitamos restringir
los valores de los grupos, dependiendo de otro procesamiento en el reporte, esto es,
cuando una clusula <*ERE no es aplicable en el 4uer#' -ara esto usamos
funciones -,%&8, para determinar cuales registros 4ueremos incluir, el valor (RE
significa 4ue el registro ser incluido'
&35?/;61 G P;67-I3;<-5 C3;/?914 como se e7plic en cap1tulos anteriores, estas
funciones -,%&8, se usan para efectuar clculos o como variables temporales del
reporte'
14,4, ESCRIBIENDO CDI!O PLDSL COMON A *ARIOS OBJETOS DEL REPORTE
-odemos crear cdigo -,%&8, a nivel del reporte 4ue puede ser llamado desde
cual4uier objeto en el mismo reporte' $reamos una unidad de programa 4ue contenga
una funcin, procedimiento o pacSage # referenciar su nombre en m5ltiples objetos'
(ambi)n podemos crear unidades de programas almacenadas en la 9., #
referenciarlas en cual4uier sitio vlido en Oracle Reports'
AAOSA Oracle Reports 6i 74-88
LABORATORIO 14
1. @bra el reporte -raMRes6'R./ # slvelo como -raCMResC'R./0
a) +odifi4ue el reporte para mostrar el m7imo salario (salario mensual ms alto" por
cada regin' se un column formula para calcular tal valor # col4uelo en el grupo de
la regin # escriba el trigger correspondiente a esa columna' @p#ese en el 4uer# en
4ue esta basado el reporte para esta tarea'
b) &alve el reporte'
2. $rear un nuevo reporte usando el 4uer# siguiente0
select !ST"MER_ID,
ID,
DATE_"RDERED,
DATE=S)IPPED,
PAYMENT_TYPE,
T"TAL
from S_ "RD
order by *,&
a ).espliegue los registros en dos diferentes la#out0
. El primero, se selecciona estilo +aster%.etail' -or cliente'
. El segundo la#out se selecciona estilo (abular, mostrando solamente las
columnas del segundo grupo'
b )+ar4ue en la pantalla de parmetros predeterminada el parmetro $O-!E& para ser
visualizados en el momento de ejecutar el reporte'
c )@segure 4ue el la#out principal se despliegue cuando se indi4ue el n5mero de
copias igual a C # 4ue el la#out secundario se muestre cuando se indi4ue el n5mero
de copias ma#or a C'
d )&alve el reporte como -raCMRes;'R./'
AAOSA Oracle Reports 6i 75-88
15
USANDO LOS EMPAUETADOS SRW
1#,1, LOS PAC"A!ES SRW
,os empa4uetados &R< son conjuntos de procedimientos, funciones #
e7cepciones 4ue pueden a#udarte a0
$ontrol de Ejecucin del Reporte'
.espliegue de mensajes en tiempo de corrida'
!nicializar los campos del ,a#out'
Ejecutar comandos ..,'
,lamar user e7its'
/ormatear dinamicamente los campos, tales como estilo de letra, etc'
/ormatear o crear objetos especiales cuando la salida del reporte es en formato
*(+,'
/ormatear o crear objetos especiales cuando la salida del reporte es en formato
-./'
-odemos referenciar cual4uier parte de un empa4uetado &R< mediante triggers
de formato (la#out" # trigger a nivel de reportes'
R-B;61 :656 /165 ;31 SRW4
&lo pueden referenciarse desde Reports, otras herramientas tales como /orms,
no reconocen estos pa4uetes'
&iempre 4ue 4ueramos referenciar un &R<, debemos prefijar su nombre con la
palabra &R<, ejemplo 0&R<'+E&&@GE'
E7isten una serie de funciones # procedimientos los cuales cumplen una amplia
gama de funciones' +encionamos a continuacin algunos de ellos junto a una breve
e7plicacin de la funcin 4ue cumplen0
SRW,BREA"4 suspende temporalmente la ejecucin del reporte # muestra todos
los valores de las columnas # parmetros'
SRW,DOQSL4 ejecuta una instruccin &8,0 .+,,..,' -uede usarse para crear
objetos en la 9., etc'
SRW,MESSA!E4 muestra un n5mero # te7to de error definido por el usuario'
SRW,RE&ERENCE4 agrega el objeto referenciado a la lista de dependencia
-,%&8,' Es 5til cuando deseamos aseguranos 4ue el valor de una columna
suministrada a un userEe7it es la mas reciente'
SRW,PRO!RAMQABORT4 e7cepcin usada para detener la ejecucin de un
AAOSA Oracle Reports 6i 76-88
reporte' Retorna el siguiente mensaje 0 REP)23245 P67S86 pro%ra$ aborted'
SRW,RUNQREPORT4 invoca R<R=6> con el string suministrado' Es 5til en la
construccin de reportes tipo drillBdo6n'
(ambi)n e7iste una familia de procedimientos usados para cambiar la apariencia
f1sica de objetos del la#out0
SRW,SETQ&IELD4 su usa para cambiar el valor de un campo tipo fecha, num)rico
o caracter'
SRW,SETQ&IELDQC+AR4cambia el valor de un campo tipo carcter'
SRW,SETQ&IELDQDATE4 cambia el valor de un campo tipo fecha'
SRW,SETQ&IELDQNUM4 cambia el valor de un campo num)rico'
SRW,SETQ&ONTQ&ACE4 define el tipo de letra para un campo'
SRW,SETQ&ONTQSIZE4 define el tama2o de letra para un campo'
SRW,SETQ&ONTQSTYLE4 define el estilo de letra de un campo0 itlico,subra#ado,
llano, resaltado, etc'
SRW,SETQ&ORE!ROUNDQBORDERQCOLOR4 define e color de borde de un
campo'
SRW,SETQ&ORE!ROUNDQ&ILLQCOLOR4 define el color de relleno de un
campo'
SRW,&ORMATQMAS"4 especifica el formato de mscara para campos fecha o
n5mero'
SRW,SETQ+YPERLIN"4 define un enlace R, o <eb ,inS'
SRW,SETQMALROW4 define el n5mero m7imo de registros a ser buscados por
un 4uer#'
SRW,SETQPD&QACTION4 especifica una l1nea de comandos 4ue se ejecutar
cuando la salida del reporte se encuentre en el ?ie6er -./'
SRW,SETQTELTQCOLOR4 define el color de un te7to para un campo'
Nota: para obtener una lista o$pleta de todos los paquetes SR9, se reo$ienda
onsultar la ayuda en l,nea de Orale Reports. .ll, podr/ enontrar el detalle de la
sinta1is de ada proedi$iento y e"e$plo :tiles.
AAOSA Oracle Reports 6i 77-88
L;6?69<3 U9 R-:352- D50;;QD3H94
-odemos usar el &R<'R=ERE-OR( desde un botn en el maestro de un
reporte, para desplegar el detalle del mismo'
-asos para crearlo0
$rear un botn en maestro del reporte
.esplegar la hoja de propiedades del botn # hacer clic en el radioEbutton
identificado como -,%&8,' *acer clic en edit para escribir el cdigo -,%&8, en
el editor'
!ntroducir la funcin0
/unction muestroEdetalle return boolean is
9egin
&R<'R=ERE-OR(
(IReportTnombreEreporte
.est#peTtipoEdestino
.esnameTnombreEarchivo
+grnoT(OE$*@R(0id""D
Return((RE"D
E7ception
<hen &R<'R=ERE-OR(E/@!,RE (*E=
&R<'+E&&@GE(C>>,JError ejecucin del reporte
nombreEreporteJ"D
Raise &R<'-ROGR@+E@9OR(D
E=.D
$ompilar # cerrar el editor -,%&8,' .ar clic a OO en la hoja de propiedades
del botn'
$orrer el reporte'
AAOSA Oracle Reports 6i 78-88
LABORATORIO 15
1 .$opie el reporte -raHResH'R./ como -raCHResC'R./0
) .espliegue el valor de la columna 4uantit# en color rojo (red" tipo negrita, cursiva,
siempre 4ue el valor sea ma#or o igual a H>>' se los siguientes atributos0
A250C/23 6 ?3<0J0765 *6;35-1 1/B-50<31
$O,OR .E ,E(R@ Red
(!-O .E ,E(R@ (imes =e6 Roman
E&(!,O .E ,E(R@ !tlico
2.,lame un reporte tipo .rillB.o6n usando un botn'
a) @bra el reporte -raHRes;'R./ # slvelo como -raCHRes;9'R./'
b) @bra el reporte -raCHResC # slvelo como -raCHRes;@'R./
c) @dicione un botn al reporte -raCHRes;@'R./, para 4ue al presionarlo emita el
reporte -raCHRes;9'R./' $ol4uelo arriba a la iz4uierda'
d) &alve el reporte'
AAOSA Oracle Reports 6i 79-88
16
WEB WIZARD Y C+ART WIZARD, MEJORANDO LA APARIENCIA
16,1, WEB WIZARD
El <eb <izard es un asistente para generar de una forma rpida # sencilla
reportes en formato *(+, o -./' El asistente, toma las especificaciones suministradas
por el usuario, para determinar como debe ser la salida del reporte' .icha salida puede
ser le1da por el bro6ser instalado en el cliente, por un programa capaz de leer archivos
en formato -./ (-ortable .ocument /ile", por ejemploD @crobat Reader'
9ien sea a trav)s de las especificaciones dadas al asistente, a trav)s de los
pa4uetes &R< suministrados por Reports, es posible agregar funcionalidad <eb a los
reportes0 por ejemplo, crear enlaces, hiperv1nculos, booSmarSs, encabezado # pie de
pgina, instrucciones -./, etc'
-ara invocar al <eb <izard seleccione desde el men5 principal (ools BF <eb
<izard' @ continuacin, Reports le mostrar una serie de pesta2as, 4ue al suministrar
los datos solicitados por el asistente en el orden dado, le permitirn generar archivos en
el formato seleccionado'
,as pesta2as del <eb <izard se describen a continuacin0
O/2;09- P6B-4 en esta pesta2a podemos definir automticamente marcadores
<eb (booSmarSs" de la lista disponible'
AAOSA Oracle Reports 6i 80-88
+-6<-5 D &332-5 P6B-4 es el nombre de un archivo *(+, 4ue se desea usar
como cabecera o pie de pgina en la salida *(+,'
&0901I-< P6B-4 es la 5ltima pgina en la generacin del archivo' El usuario debe
seleccionar el tipo # estilo de salida (*(+, -./"' na vez finalizado el trabajo
del asistente, es posible editar el archivo con el programa apropiado retornar a
Report 9uilder' @l finalizar, todas las opciones especificadas 4uedan salvadas en
la definicin del reporte # estarn disponibles para ser usadas la pro7ima vez 4ue
el reporte sea ejecutado, # se solicite la salida a un archivo (.E&(U-ETfile" # el
formato apropiado (.E&/OR+@(Thtm .E&/OR+@(Tpdf"' &i se tilda el
checSbo7 _Generate output to a <eb 9ro6ser_, Report 9uilder invocar el bro6ser
por defecto del sistema para 4ue el usuario pueda ver la salida de la pgina <eb
generada'
AAOSA Oracle Reports 6i 81-88
P53:0-<6<-1 <- OCE-23 A13706<61 6 ;31 &35?6231 +TML G PD&
E7isten una serie de propiedades espec1ficas para los formatos *(+, # -./
para diversos objetos de un mdulo Reports' Estos podemos ubicarlos tanto a nivel
del nodo principal, como a nivel de otros objetos del la#out tales como frames,
repeating frames # campos' ,as propiedades generales del mdulo se denominan
_Report Escapes_ # consta de las siguientes propiedades0
B-J35- R-:352 TG:- G *6;/-4 especifican el tipo # valor de arran4ue 4ue
aparecer al principio del archivo generado' El tipo puede ser un archivo o
te7to' &i es un te7to, su contenido se define en ?alue # debe ser un conjunto
de instrucciones *(+, vlidas' &i es un archivo, este debe ser un archivo
escrito en *(+, o un archivo de imagen' Es posible definir dinmicamente
este valor usando el procedimiento &R<'&E(E9E/OREERE-OR(E*(+,'
AJ2-5 R-:352 TG:- G *6;/-4 especifican el tipo # valor de pie de pgina 4ue
aparecer al J096; <-; 657I0@3 generado' El tipo puede ser un archivo o te7to'
&i es un te7to, su contenido se define en ?alue # debe ser un conjunto de
instrucciones *(+, vlidas' &i es un archivo, este debe ser un archivo escrito
en *(+, ' Es posible definir dinmicamente este valor usando el
procedimiento &R<'&E(E@/(ERERE-OR(E*(+,'
B-J35- P6B- TG:- G *6;/-4 especifican el tipo # valor de arran4ue 4ue
aparecer al principio de cada pgina en el archivo generado' El tipo puede ser
un archivo o te7to' &i es un te7to, su contenido se define en ?alue # debe ser
AAOSA Oracle Reports 6i 82-88
un conjunto de instrucciones *(+, vlidas' &i es un archivo, este debe ser un
archivo escrito en *(+, ' Es posible definir dinmicamente este valor usando
el procedimiento &R<'&E(E9E/OREE-@GEE*(+,'
AJ2-5 P6B- TG:- G *6;/-4 especifican el tipo # valor de pie de pgina 4ue
aparecer al final de cada pgina en el archivo generado' El tipo puede ser un
archivo o te7to' &i es un te7to, su contenido se define en ?alue # debe ser un
conjunto de instrucciones *(+, vlidas' &i es un archivo, este debe ser un
archivo escrito en *(+, ' Es posible definir dinmicamente este valor usando
el procedimiento &R<'&E(E@/(ERE-@GEE*(+,'
B-J35- &35? TG:- G *6;/-4 define el tipo de encabezado 4ue aparecer en la
forma de parmetros cuando la ejecucin se solicita en formato *(+,' El tipo
puede ser un archivo o te7to' &i es un te7to, su contenido se define en ?alue #
debe ser un conjunto de instrucciones *(+, vlidas' &i es un archivo, este
debe ser un archivo escrito en *(+, ' Es posible definir dinmicamente este
valor usando el procedimiento &R<'&E(E9E/OREE/OR+E*(+,'
AJ2-5 &35? TG:- G *6;/-4 define el tipo de pie de pgina 4ue aparecer en la
forma de parmetros cuando la ejecucin se solicita en formato *(+,' El tipo
puede ser un archivo o te7to' &i es un te7to, su contenido se define en ?alue #
debe ser un conjunto de instrucciones *(+, vlidas' &i es un archivo, este
debe ser un archivo escrito en *(+, ' Es posible definir dinmicamente este
valor usando el procedimiento &R<'&E(E@/(ERE/OR+E*(+,'
E7isten dos procedimientos adicionales 4ue se usan para definir booSmarS e
hiperv1nculos0
SRW,SETQBOO"MAR"4 asocia un booSmarS a un objeto # define una cadena de
caracteres 4ue aparecer en el frame del documento *(+,'
SRW,SETQ+YPERLIN"4 define un hiperv1nculo'
16,2, C+ART WIZARD
Otra facilidad de gran utilidad a la hora de crear reportes de ma#or calidad, es el
asistente para grficos $hart <izard' Este asistente le permite al programador invocar el
producto Oracle Graphics, directamente desde Report 9uilder para crear un mdulo
Oracle Graphics 4ue se asocia a un 1tem tipo chart en Report 9uilder'
-ara crear un 1tem tipo chart en Report 9uilder, debemos ubicarnos en el ,a#out
Editor # seleccionar el icono correspondiente de la barra de herramientas, # a
continuacin dibujar una rea donde deseamos crear el 1tem'
-ara invocar el $hart <izard, ub14uese sobre el 1tem tipo $hart # presione el
botn derecho del ratn0
AAOSA Oracle Reports 6i 83-88
@ continuacin, aparecern las siguientes pantallas, a las 4ue deber suministrar
la informacin re4uerida en el orden establecido0
T0:3 <- !5NJ0734 seleccione el tipo # subtipo de grfico 4ue desea imprimir para
su reporte0 columna, barra, torta, l1nea # mi7to' Opcionalmente, puede definir el
t1tulo del reporte'
C335<-96<6 L4 seleccione el o las columnas 4ue formarn parte de la
coordenada ['
C335<-96<6 Y4 seleccione la columna 4ue formarn parte de la coordenada U'
UC0767089 <-; R-:352-4 seleccione la ubicacin del grfico en el reporte0 al
principio o al final del reporte'
N3?C5- <-; M8</;3 O567;- !56:I0714 indi4ue el nombre # ubicacin del mdulo
Oracle Graphics 4ue estar asociado al chart 1tem'
AAOSA Oracle Reports 6i 84-88
E7isten dos propiedades espec1ficas de un chart 1tem 4ue detallan a continuacin0
$hart /ile =ame0 especifica el nombre del mdulo Oracle Graphics asociado al
chart 1tem' &i se desea, puede removerse el camino (path" del mdulo Oracle
Graphics' -ara 4ue esta accin no impli4ue 4ue Reports no pueda encontrar el
mdulo de Oracle Graphics, debe a2adirse el directorio donde se encuentra el
grfico a la variable RE-OR(&6>E-@(*'
-arameters and $olumns0 define los posibles parmetros # columnas del reporte
4ue se usan como interfaz con Oracle Graphics' En la lista de parmetros, de
e7istirD debemos indicar para cada parmetro del mdulo Reports, el nombre del
parmetro correspondiente en Oracle Graphics' En la seccin de columnas,
indicamos el record group (4ue usualmente corresponde a un grupo del .ata
+odel" desde el cual se toman los campos a ser graficados (Report $olumns", con
su correspondiente nombre en el mdulo de Oracle Graphics'
AAOSA Oracle Reports 6i 85-88
AAOSA Oracle Reports 6i 86-88
LABORATORIO 16
C' $ree un reporte maestro 3 detalle 4ue muestre los departamentos con sus respectivos
empleados'
a" -or cada departamento, muestre el cdigo # su nombre'
b" -ara cada empleado, muestre su identificador, su nombre completo, su cargo
(title" # su salario' @seg5rese de calcular el total devengado por todos los
empleados de cada departamento # un total general'
c" /ormatee el reporte para 4ue tenga una apariencia aceptable'
d" @ continuacin invo4ue el <eb <izard' @seg5rese de seleccionar el cdigo del
departamento como booSmarS(marcador"' &eleccione la opcin QGenerate *(+,
output no6R # mar4ue el checS bo7 QGenerate Ouput to a <eb 9ro6serR'Observe
la funcionalidad del booSmarS'
e" !nvo4ue nuevamente al <eb <izard' Esta vez, seleccione la opcin QGenerate
Output to -./R' =ecesitar un programa visualizador de archivos en formato -./,
para poder ver el archivo'
f" &alve el reporte como -raC6ResC' =o lo cierre'
;' $ree el reporte -raC6Res; basado en -raC6ResC'
a" $opie en su directorio de trabajo los archivos suministrados por su instructor'
b" !nvo4ue la paleta de propiedades para el objeto Report +odule' +odifi4ue las
siguientes propiedades0 Q9efore Report (#peR T/ile # 9efore Report ?alueT
header'htm' Esta propiedad tambi)n puede cambiarla invocando nuevamente el
<eb <izard # seleccionado un archivo en la variable Q*eader *(+, /ileR'
c" $orra el reporte en modo <eb # observe la salida' &alve el reporte'
:' $ree el reporte -raC6Res: basado en -raC6Res;'
a" $olo4ue el valor por defecto de las siguientes variables' .E&(U-ET /ile,
.E&=@+ETdirectorioEdeEtrabajo`-raC6Res:'htm # .E&/OR+@(Thtml'
b" $ree una forma de parmetros por defecto 4ue inclu#a estos variables de sistema'
c" $ree una eti4ueta tipo boilerplate al final del reporte (dentro del cuerpo principal" #
colo4ue el siguiente t1tulo Q+ar4ue a4u1 para obtener ms informacinR' Esta
eti4ueta solo deber salir cuando se seleccione el formato *(+, o -./'
d" &obre esta eti4ueta, cree un trigger de formato 4ue haga un hiperv1nculo 4ue
navegue hasta el sitio 666'oracle'coma+etalinS'
e" -ruebe # reporte # salvelo como -raC6Res:'
M' @bra el reporte -raC6ResC # salvelo como -raC6ResM'
a" !nvo4ue el <eb <izard # elimine los marcadores basados en el cdigo del
departamento' &eleccione la salida como *(+,'
b" $ree dinmicamente un marcador basado en el nombre del departamento' -ara
lograrlo, cree un trigger de formato sobre el campo cdigo del departamento 4ue
agregue el booSmarS' tilice el pa4uete &R<'&E(E@((R' &iga los lineamientos de
su instructor'
AAOSA Oracle Reports 6i 87-88
c" $ree un trigger 9E/ORE RE-OR( 4ue haga uso del pa4uete
&R<'&E(E@/(ERE-@GEE*(+, 4ue agregue un archivo 'gif al final de cada pgina'
&iga los lineamientos de su instructor'
H' $ree un reporte 4ue muestre el cdigo del departamento, el nombre # el total de salarios'
a" $ree un 1tem tipo chart desde el la#out editor' $olo4ue dicho 1tem a la derecha de los
datos del reporte'
b" !nvo4ue el asistente $hart <izard'
c" $olo4ue el t1tulo Q.istribucin -orcentual de &alarios por .epartamentosR'
d" &eleccione el tipo de chart torta(pie" # el estilo 4ue d' prefiera'
e" &eleccione el cdigo del departamento # el total salario por departamento como
coordenadas del grfico'
f" Grabe el mdulo tipo Oracle Graphics en el mismo directorio de trabajo donde estn
sus reportes'
g" &i es necesario, invo4ue Oracle Graphics 9uilder para ajustar el reporte' Grabe los
cambios'
h" Ejecute el reporte'
i" Grabe el reporte como -raC6ResH'
AAOSA Oracle Reports 6i 88-88

Вам также может понравиться