Post on 10-Feb-2018
7/22/2019 Qu es Oracle Apex
1/121
Qu es Oracle Apex?
Que mejor para iniciar esta serie de publicaciones, que una brevedescripcin de lo que es Oracle APEX.
Oracle Application Express (Oracle APEX), se conoca anteriormentecomo HTML_DB, es una herramienta de desarrollo basada en unnavegador web, que permite desarrollar de manera rpidaaplicaciones web para la base de datos Oracle. Utilizando solamenteun navegador web y limitada experiencia en programacin, se puededesarrollar y desplegar aplicaciones profesionales que son a su vezrpidas y seguras. El lenguaje de programacin que va a necesitar, sila funcionalidad estndar del paquete no llena por completo sus
necesidades es PL/SQL.
Muchos de los desarrolladores Oracle existentes, se estn moviendohacia APEX, porque es muy sencillo (no es necesario un servidor deaplicaciones) y adems utiliza PL/SQL.
Como todo paquete existente, tiene sus pros y sus contras, de lascuales, las principales son:
Pros:
1. No existe un costo de licenciamiento separado para las aplicacionesconstruidas con APEX el producto es una opcin sin-costo contodas las ediciones de bases de datos.
2. Los ayudantes (wizards) en el producto hacen posible construiraplicaciones web simples pero a la vez robustas, rpidamente.
3. Las organizaciones con experiencia en programacin PL/SQL puedenapreciar que el lenguaje para definir la lgica del negocio, ms alla
de solo la funcionalidad, es PL/SQL.4. Al ejecutarse las aplicaciones APEX en la base de datos, su
desempeo es excelente (a menos que el cdigo SQL est escrito deuna manera pobre por los desarrolladores), no existe el sufrimientode trnsito en exceso entre el servidor de aplicaciones y la base dedatos que caracterizan el pobre desempeo de las aplicaciones entres capas.
Contras:
7/22/2019 Qu es Oracle Apex
2/121
1. Una aplicacin APEX esta sujeta a las limitaciones normales decualquier aplicacin web: Una seleccin limitada de componentes dela interfas del usuario. Sin embargo, con la caracterstica derefrescamiento parcial de APEX, no es necesario enviar y redibujar
toda la pantalla para muchas operaciones.2. Si la funcionalidad estndar de APEX no es suficiente para cubrir sus
necesidades, tendr que aprender el entorno para poder agregar supropio cdigo en los puntos claves o relevantes; de la misma maneraen que tuvo que aprender sobre los disparadores disponibles enproductos como Oracle Forms. El entorno APEX puede ser mejoradoo ampliado utilizando javascript, AJAX, DHTML, etc. para incorporarfuncionalidad Web 2.0 a sus aplicaciones.
3. Al ejecutarse las aplicaciones APEX en la base de datos, incluyendola lgica del negocio, no se tiene los mismos requerimientos dedesempeo que con aplicaciones en arquitecturas de tres capas,donde necesita escalar (agregando ms servidores de aplicaciones)para mejorar el desempeo. El costo total de desempeo en la basede datos por ejecutar aplicaciones APEX es muy pequeo,permitiendo escalar muy bien. Para aplicaciones de APEX de base dedatos intensivas (aquellas con un significativo procesamiento dedatos) con un gran nmero de usuarios concurrentes, se recomienda
utilizar Oracle RAC para balancear la carga de la base de datos.Tambin pueden ser incorporados mltiples servidores deaplicaciones para as asegurar una alta disponibilidad.
7/22/2019 Qu es Oracle Apex
3/121
Agregar un reporte con pginas de UsoFrecuente
Una funcin muy til en cualquier aplicacin, es una regin similar a la regin
Reciente usada en la aplicacin de desarrollo de Apex, en la que se muestran las
pginas de uso ms frecuente de la aplicacin; para lo cual utilizaremos una consulta al
repositorio de APEX.
En esta entrega, les explico como lograrlo en sus aplicaciones con tres simples pasos:
1. Habilitar el registro a nivel de la aplicacin, lo que resulta en registros en la vistaapex_workspace_activity_log.
2.
Crear una Pgina Cero para la aplicacin y en ella una regin basada en una consulta SQL.3. Ingresar el siguiente cdigo en la regin creada, para mostrar las 5 pginas ms visitadas.
select htf.anchor(
f?p=||:APP_ID||:'||page_id||:'||:APP_SESSION
, page_id|| : ||page_name ) Task
from
(
select page_name
, page_id, count(*)
from apex_workspace_activity_log
where application_id = :APP_ID
and apex_user = :APP_USER
and page_id :APP_PAGE_ID
group by page_name, page_id
order by 3 desc
)
where rownum
7/22/2019 Qu es Oracle Apex
4/121
Creando una aplicacin con Oracle Apex Parte1
Ha llegado hasta mis manos la inquietud de uno de los lectores de este blog, de explicar
paso a paso, la creacin de una aplicacin utilizando Oracle Apex, esto con la intencin
de que todos aquellos que estn empezando a conocer la herramienta se puedan
familiarizar con ella.
Por este motivo, en esta entrega y las siguientes, voy a explicar detalladamente cmo
crear una aplicacin con Oracle Apex a partir de cero, y en donde incluir:
Cmo crear un espacio de trabajo para la aplicacin?
Cmo crear el contenedor para la aplicacin? Cmo definir los valores por defecto de la Interfaz de Usuario? Cmo crear una forma para captura de datos? Cmo generar un reporte con la ayuda del asistente de informes?
Con esto cubrimos los elementos bsicos de una aplicacin tpica de Oracle Apex y
puede ser de gran ayuda para que inicien a experimentar con la versatilidad que ofrece
esta herramienta.
Para empezar de una vez, vamos a explicar en esta entrega el primer tpico de esta
serie:
Cmo crear un espacio de trabajo para la aplicacin?
Lo primero que necesitamos para poder desarrollar una aplicacin utilizando Oracle
Apex, es un rea de trabajo (Workspace en ingls), la cual podemos definir como un
contenedor en el que se define cual usuario de base de datos es el dueo de la
aplicacin, la informacin de conexin a la base de datos y los usuarios que tienenacceso a este contenedorentre otras cosas.
Ahora que hemos definido lo que es un rea de trabajo, pasemos a crear una, para lo
cual, necesitamos conocer la contrasea del usuario principal de Apex, el cual se crea
cuando instalamos esta herramienta. Adems, debe conocer la direccin de ingreso a la
herramienta, la cual tambin se define a la hora de la instalacin de la misma.
Para el ejemplo, vamos a suponer que tiene instalada la herramienta en su
computadora personal, y que defini como puerto de acceso el puerto 8080; entonces,tenga a mano esta informacin:
7/22/2019 Qu es Oracle Apex
5/121
Direccin a herramienta: http://127.0.0.1:8080/apex/
Area de trabajo principal:INTERNAL
Usuario: ADMIN
Ahora s, empecemos a crear nuestra propia rea de trabajo para la aplicacin que
vamos a crear ms adelante:
1. Abra su navegador de Internet preferido (el mo es Firefox) y en la barra de direccinescriba la cadena que definimos arriba como Direccin a herramienta. No se olvide de
pulsar la tecla de retorno al final de la cadena. Una vez hecho esto le ser mostrada una
pantalla similar a la que se muestra a continuacin.
2. En el campo Espacio de Trabajo, escriba INTERNAL.3. Introduzca ADMIN en el campo Usuario.4. En el campo Contrasena, ingrese la contrasea que se defini para el administrador
a la hora de efectuar la instalacin de la herramienta.
5. Haga clic sobre el botn Conectar. Le ser mostrada una pantalla similar a la siguiente:
7/22/2019 Qu es Oracle Apex
6/121
6. Haga clic sobre el botn Gestionar Espacios de Trabajo.
7. Tan pronto le sea mostrada una pantalla similar a la anterior, en donde se encuentrantodas las opciones para gestin de espacios o reas de trabajo, haga clic sobre el
enlace Crear espacio de trabajo en la seccin Gestionar Espacios de Trabajo.
7/22/2019 Qu es Oracle Apex
7/121
8. Le ser mostrada una pantalla similar a la que se muestra en la ilustracin anterior, la cuales la entrada al Wizard para la creacin del nuevo Espacio de Trabajo. Los campos con
un asterisco rojo, son de ingreso obligatorio. Ingrese el nombre del espacio de trabajo que
desea crear, en nuestro caso vamos a utilizar el nombre Ejemplo; y si lo desea, en el
campo siguiente, escriba una descripcin breve que identifique el espacio de trabajo.
9. Haga clic en el botn Siguiente. Aparecer una pantalla similar a la siguiente.
7/22/2019 Qu es Oracle Apex
8/121
10.Aqu tiene la opcin de utilizar un esquema de base de datos existente, o bien, puede crearuno nuevo, en nuestro caso, vamos a usar el esquema SCOTT que instala toda base de
datos Oracle.
11.En el campo Desea volver a utilizar un esquema existente?, seleccione laopcin S.
12.Haga clic en la flecha a la derecha del campo Nombre de Esquema y en la pantallasimilar a la ilustracin de abajo, haga clic sobre el esquema SCOTT.
13.Para continuar haga clic en el botn Siguiente.
7/22/2019 Qu es Oracle Apex
9/121
14.Es el momento de crear el usuario administrador del Espacio de Trabajo, para eso se utilizala pantalla que se muestra arriba.
15.Mantenga el campo Usuario, tal y como aparece.16.Ingrese una contrasea para el usuario.17.Si lo desea, puede teclear el Nombre y Apellidos de la persona que se define como
administrador.
18.Proporcione el correo electrnico del administrador del Espacio de Trabajo.19.Haga clic en el botn Siguiente para continuar. Le ser mostrada la siguiente
pantalla:
7/22/2019 Qu es Oracle Apex
10/121
20.Verifique que todos los datos mostrados correspondan con la definicin que desea realizarpara el Espacio de Trabajo.
21.Haga clic en el botn Crear, para proceder a la creacin del Espacio de Trabajodefinido. Le ser mostrada una pantalla de confirmacin de que su Espacio de Trabajo ha
sido creado exitosamente.
7/22/2019 Qu es Oracle Apex
11/121
22.Haga clic en el botn Listo, para regresar a la pantalla de administracin deEspacios de Trabajo, una vez all, haga clic en el enlace Desconectar, que se
encuentra en la esquina superior derecha de la pantalla, para abandonar el administrador
de Oracle Apex.
Creando una aplicacin con Oracle Apex Parte2
En la entrega anterior, vimos como crear un Espacio de Trabajo para nuestra
aplicacin, al cual le asignamos un nombre y lo adjuntamos a un esquema de base de
datos, en nuestro caso el del usuario SCOTT.
Hoy vamos a ver Cmo crear el contenedor para la aplicacin?
Cmo crear el contenedor para la aplicacin?
Lo que llamo contenedor de la aplicacin, es algo as como un espacio dentro de la
base de datos, especficamente en el esquema utilizado para crearlo, en donde se
crearan, las formas, reportes y cualquier otro objeto que componga nuestra aplicacin,
tal como imgenes, scripts y algunos otros objetos que con el tiempo iremos
conociendo.
Lo primero que debemos hacer, es ingresar a nuestro Espacio de Trabajo, para ello,
nos vamos a dirigir a la direccin de arranque del Oracle Apex, en mi caso, que utilizo
mi computador personal para realizar esta aplicacin, sera:
http://127.0.0.1:8080/apex, tambin es importante recordar el nombre del espacio de
trabajo creado en la entrega anterior: Ejemplo y el usuario que se
cre:ADMIN. Con esto en mente empecemos:
1. Usando su navegador de Internet preferido, ingrese la direccin de inicio de su aplicacinApex.
2. Una vez mostrada la pantalla de inicio, en el campo Espacio de Trabajo,ingrese Ejemplo.
3. En el campo Usuario, escribaADMIN.4. En el campo Contrasea, ingrese la contrasea que defini al crear el espacio de
trabajo.
5. Haga clic en el botn Conectar.
7/22/2019 Qu es Oracle Apex
12/121
6. Le ser mostrada una pantalla similar a la que se muestra arriba. Haga clic en elbotn Aplication Builder.
7. Se va a encontrar con una pantalla similar a la anterior. Para continuar e ingresar alWizard de creacin del contenedor de la aplicacin, haga clic en el botn Crear>.
7/22/2019 Qu es Oracle Apex
13/121
8. La imagen anterior muestra la nueva pantalla, aqu puede hacer clic sobre la imagen que seencuentra debajo del botn de radio Crear Aplicacino bien, en el
botn Siguiente>.
9. Vamos a crear una aplicacin nueva, por lo tanto, en la pantalla que muestra la imagenanterior, ingrese el nombre que tendr su aplicacin, en nuestro caso, vamos a
llamarla Empleadosy vamos a mantener el nmero de aplicacin que nos asigna
7/22/2019 Qu es Oracle Apex
14/121
automticamente Apex en el campo Aplicacin. Como puede observar, se asigna el
esquema en el cual definimos nuestro Espacio de Trabajo. Para continuar, haga clic en el
botnSiguiente>.
10.Es el momento de agregar contenido a nuestro contenedor. Al menos, debemos agregaruna pgina a este, pero podemos agregar ms de una, que puede ser una pgina en
blanco, un informe, una pantalla, una pantalla tabular, un maestro detalle o un Informe
con su respectiva pantalla de mantenimiento. En nuestro caso, vamos a agregar una
pgina en blanco, la cual vamos a llamar Principal y que vamos a utilizar como pgina
principal de nuestra aplicacin. Para esto:
1. En el campo Nombre de la Pgina, escribimosPrincipal.2. Hacemos clic en el botn Agregar Pgina.
3.
Hacemos clic en el botn Siguiente>.
7/22/2019 Qu es Oracle Apex
15/121
11.Ahora debemos definir parte del look and feel de nuestra aplicacin, debemos de decidirsi utilizaremos o no separadores, y en caso afirmativo, si estos sern de uno o dos niveles.
Para nuestra aplicacin, vamos a usar Un Nivel de Separadores, para esto seleccione el
botn de radio Un Nivel de Separadoresy luego haga clic en el botn Siguiente>.
7/22/2019 Qu es Oracle Apex
16/121
12.Haga clic en el botn Siguiente>, en la pantalla que se muestra arriba.
13.En la pantalla que se muestra anteriormente, vamos a definir algunas caractersticasgenerales de la aplicacin y de suma importancia, la primera de ellas es el tipo de
autenticacin que vamos a usar para ingresar a nuestra aplicacin. En nuestro caso vamos
a utilizar Cuenta de Base de Datos, lo que significa que se debe tener un usuario de base
de datos para poder utilizar la aplicacin. Adems, en el campo Idioma, seleccionamos
Espaol (puede seleccionar de todos los disponibles el correspondiente a su pas),
tambin, en el campo Formato de Fecha ingrese el formato de fecha que prefiera, para
todos los campos fecha que se vayan a utilizar en la aplicacin; en mi caso voy a usar el
formato DD/MM/YYYY. Finalmente, haga clic en el botn Siguiente>.
7/22/2019 Qu es Oracle Apex
17/121
14.Se debe seleccionar la apariencia que tendr la interfaz de usuario, para nuestra aplicacin,vamos a utilizar el Tema 3, as que hacemos clic en el botn de radio correspondiente a
esta opcin y luego en el botn Siguiente>.
7/22/2019 Qu es Oracle Apex
18/121
15.Ahora ya tenemos definido todo lo que necesitamos para crear nuestro contenedor, lo nicoque resta, es hacer clic en el botn Crear, de la pantalla que se muestra en la parte
superior. Al finalizar el procedimiento, aparecer una nueva pantalla, esta vez la del
contenedor de la aplicacin que acabamos de crear y que es similar a la que se muestra a
continuacin.
Como puede observar, hay dentro del contenedor dos pginas, una es la que creamosen el procedimiento anterior y que llamamos Principal y la otra es la pgina
Conectar, que es creada por este procedimiento de manera automtica y que se usa
para realizar la autenticacin de los usuarios y permitir o rechazar el ingreso a nuestra
aplicacin.
En la siguiente entrega, vamos a ver cmo definir los valores por defecto de la interfaz
de usuario.
Creando una aplicacin con Oracle Apex Parte3
En la entrega anterior, creamos el contenedor para nuestra aplicacin, al cual en
adelante, vamos a llamar nicamente como la aplicacin.
Es el momento de empezar a definir las caractersticas de nuestra aplicacin, para ello,
en esta nueva entrega, les voy a explicar cmo definir los valores por defecto de la
Interfaz de Usuario. En esta, definimos las etiquetas que llevarn los diferente s
7/22/2019 Qu es Oracle Apex
19/121
campos de tablas o vistas que utilizaremos en nuestra aplicacin, y que pueden
aparecer en formularios o reportes.
En realidad es un proceso muy sencillo, y que paso a definir a continuacin.
Cmo definir los valores por defecto de la Interfaz deUsuario?
En el ltimo paso de la publicacin anterior, quedamos en la pantalla de nuestra
aplicacin, en donde aparecan dos pginas definidas durante el proceso de creacin de
la aplicacin, de aqu en adelante vamos a continuar.
1. Haga clic en el botnComponentes compartidos.
2. La imagen anterior muestra la pantalla a la que somos dirigidos, aqu se pueden observarvarias secciones, pertenecientes a diferentes caractersticas de Apex que vamos a ir
conociendo poco a poco. En este caso, nos interesa la seccin Interfaz de Usuario, haga
clic en el enlace Valores por defecto de Interfaz de Usuario.
7/22/2019 Qu es Oracle Apex
20/121
3. Una vez cumplido el paso anterior, seremos llevados a una pantalla similar a la que semuestra arriba. Como podr observar, sta tiene ciertas caractersticas que pueden ser
definidas a placer, tales como la cantidad y tipo de tablas/vistas a mostrar en la pgina, as
como la forma en que estas son representadas en la pgina; como iconos (igual que en la
imagen anterior) o como una lista detallada (Pruebe realizar cambios y observe las
diferencias). Repita el siguiente procedimiento para incluir los valores por defecto de
interfaz de usuario de una tabla o vista:
1. Haga clic en la tabla que desea trabajar.
7/22/2019 Qu es Oracle Apex
21/121
2. Aparecer una pantalla similar a la anterior, aqu, haga clic en el botn Crear Valores porDefecto de Interfaz de Usuario.
3. Al ejecutar el paso anterior, sern creados los valores por defecto para la tabla/vistaseleccionada, estos valores son los que se muestran en la pantalla de arriba. Ahora lo que
7/22/2019 Qu es Oracle Apex
22/121
queda es modificarlos para adecuarlos a nuestros deseos o necesidades. Les voy a explicar
la manera ms sencilla de hacerlo. Para continuar con el proceso, haga clic en el botn
Edicin de Cuadrculas.
4. La vista de la pantalla cambia a una igual a la que se muestra anteriormente, ahora s,vamos a realizar los cambios necesarios:
1. En el campo Ttulo de Regin de Pantalla, introduzca el ttulo que desea que aparezca enlas pantallas de mantenimiento.
2. En el campo Ttulo de Regin de Informe, ingrese el ttulo que aparecer comoencabezado de reportes.
3. En el campo Etiqueta, teclee la etiqueta que tendr cada campo de la tabla/vista.4. En la columna Incluir en Informes indique con un S los campos que desea que
aparezcan en los reportes y con un No, los que no desea que aparezcan.
5. Haga lo mismo del paso anterior en la columna Incluir en Pantallas.6. En la columna Necesarios indique con un S, los campos que son de ingreso obligatorio.7. Puede indicar el orden en que aparecen los campos en informes y pantallas, indicando con
un nmero consecutivo la posicin en informes o pantallas, para esto utilice las columnas
Secuencia de Informe y Secuencia de Pantalla.
5. Haga clic en el botn Aplicar Cambios.6. Haga clic en el botn Cancelar para regresar a la pantalla anterior y seleccionar una
nueva tabla/vista.
7/22/2019 Qu es Oracle Apex
23/121
As de fcil es definir los valores por defecto de la Interfaz de Usuario para nuestra
aplicacin, lo que nos va a evitar el estar escribiendo los ttulos y etiquetas cada vez
que hagamos una pantalla o un reporte a partir de una tabla o vista. El siguiente paso
es la creacin de una pantalla para captura de datos, la cual haremos en la siguiente
entrega.
Creando una aplicacin con Oracle Apex Parte4
Hasta este momento hemos visto como preparar el escenario para crear una aplicacin
con Oracle Apex, ahora lleg la hora de empezar a agregarle contenido a nuestra
aplicacin. Y vamos a empezar por crear una forma para levantado de informacin.
Para que esta entrega sea un poco ms sustanciosa, vamos a realizar la pantalla de
mantenimiento de datos de la tabla EMPque contiene la informacin de empleados y
vamos a hacer algunas presunciones, como por ejemplo, que ya creamos la pantalla de
mantenimiento de la tabla DEPT y que la utilizamos para cargar algunos datos en
ella. Adems, vamos a agregar algo de cdigo a las tablas mencionadas, les vamos a
agregar in disparador a cada una de ellas, as como una secuencia para manejar las
llaves primarias de ambas. El cdigo utilizado lo puede obteneraqu.
Una vez obtenido el cdigo, abra una sesin de SQL y ejecute este cdigo, luego de lo
cual estaremos listos para llevar adelante esta tarea.
Iniciemos pues con el tema de este artculo.
Cmo crear una forma para captura de datos?
Suponiendo que estamos iniciando desde fuera:
1. Ingrese a su aplicacin (recuerde que estbamos usando el espacio de trabajo Ejemplo,usuario ADMIN y la clave de ingreso que cada uno ha definido).
2. Haga clic en la imagen Application Builder.3. Ahora haga clic sobre el icono de la aplicacin Empleados.
http://www.ieskem.com/wordpress/wp-content/uploads/2008/11/ejemplo.sqlhttp://www.ieskem.com/wordpress/wp-content/uploads/2008/11/ejemplo.sqlhttp://www.ieskem.com/wordpress/wp-content/uploads/2008/11/ejemplo.sqlhttp://www.ieskem.com/wordpress/wp-content/uploads/2008/11/ejemplo.sql7/22/2019 Qu es Oracle Apex
24/121
4. La imagen de arriba muestra la pantalla que debera estar viendo en este momento. Comolo que queremos hacer es crear una nueva pgina para nuestra aplicacin; haga clic en el
botnCrear Pgina >.
7/22/2019 Qu es Oracle Apex
25/121
5. La imagen anterior muestra la pantalla de seleccin del tipo de pgina que queremos crear,en nuestro caso, vamos a seleccionar la opcin Pantalla, luego de lo cual tenemos que
hacer clic en el botn Siguiente >.
6. Tenemos nueve opciones diferentes para el tipo de pantalla que queremos crear, para esteejemplo, vamos a seleccionar la opcin Pantalla Basada en Tabla o Vista, luegohacemos clic en el botn Siguiente >.
7/22/2019 Qu es Oracle Apex
26/121
7. A partir de ahora y de la pantalla que se muestra arriba, lo que haremos es definir lafuncionalidad de la pgina que estamos creando. Como puede ver, el esquema que
definimos para nuestra aplicacin aparece seleccionado, por lo que en esta pgina solo
tenemos que hacer clic en el botn Siguiente >.
8. En la nueva pgina debemos indicar la tabla que vamos a utilizar para crear nuestrapantalla y podemos hacerlo de dos maneras: podemos escribir directamente en el campo
correspondiente el nombre de la tabla, o bien, podemos hacer clic en el botn a la derecha
del campo, y seleccionar la tabla de la lista que nos ser mostrada. En nuestro caso vamos
a escribir directamente el nombre de la tabla: EMP, luego de lo cual haremos clic en el
botn Siguiente >.
7/22/2019 Qu es Oracle Apex
27/121
9. La imagen de arriba muestra la pantalla que debe tener en frente de sus ojos en estemomento, en ella no debera modificar nada, o casi nada. Si observa bien, el cuarto campo
de la pantalla dice Usar Valores por Defecto de Interfaz de Usuario, estos son los valores
que definimos para cada tabla y vista en la entrega anterior y para esto es que se utilizan
estos valores. En mi caso, voy a modificar el campo Nombre de la pginay lo voy a
cambiar por Mantenimiento_EMP, luego se debe hacer clic en el botn Siguiente >.
10.Ahora hay que definir las opciones de separadores, como recordar, cuando definimos laaplicacin, decidimos que utilizaramos separadores de un nivel, en la pantalla de arriba
7/22/2019 Qu es Oracle Apex
28/121
vamos a definir un separador para la pgina que estamos creando, para esto, primero
marcamos la opcin Utilizar un juego de separadores existente y crear un nuevo
separador en el juego de separadores existente; luego en el campo Nueva etiqueta de
separadorescribimos Empleados. Finalmente hacemos clic en el botn Siguiente >.
11.En la pantalla siguiente (ver arriba), definimos la llave primaria de la tabla, y para nuestroejemplo, lo nico que tenemos que hacer es hacer clic sobre el botn Siguiente >.
7/22/2019 Qu es Oracle Apex
29/121
12.En la pantalla siguiente, mostrada arriba, definimos la forma en que se manejar el origende la llave primaria de la tabla, para lo cual proporcionamos el cdigo del inicio de esta
entrega, solamente debe hacer clic en el botn Siguiente >.
7/22/2019 Qu es Oracle Apex
30/121
13.En la pantalla que se muestra anteriormente, definimos las columnas de la tabla quedeseamos mostrar en la pantalla que estamos creando, aqu puede desmarcar las que
desee, o bien, como en mi caso, dejar todas las columnas seleccionadas y hacer clic en el
botn Siguiente >una vez que estemos listos con nuestra seleccin.
14.Como puede ver arriba, la siguiente pantalla nos permite mostrar la funcionalidad de lanueva pgina, aqu define si se pueden crear nuevos registros, modificar o eliminar los
existentes, para eso debe seleccionar S o No en los diferentes campos Mostrar botn
, adems define la etiqueta de cada uno de los botones que mostrar la pantalla, en mi
caso, voy a modificar la Etiqueta del Botn Cancelary voy a escribir en este
campo Regresar, para de este modo dar a entender que este botn, me permite
regresar a la pantalla origen. Para culminar este paso, hacemos clic en el botnSiguiente
>.
7/22/2019 Qu es Oracle Apex
31/121
15.La imagen anterior muestra la pantalla de definicin de caractersticas de navegacin de lapantalla, en donde definimos que hacer luego de haber ejecutado un proceso de la pgina
(insertar, modificar o eliminar un registro), as mismo que hacer cuando hacernos clic en el
botn Regresar. Vamos a escribir un 3 en el primer campo y un 1 en el segundo de
ellos, para regresar a la pgina principal cuando cancelamos cualquier accin, y para
mantenernos en la misma pgina luego de incluir, modificar o eliminar un registro, solo
resta hacer clic en el botn Siguiente >para continuar avanzando en la creacin de
nuestra pantalla.
7/22/2019 Qu es Oracle Apex
32/121
16.Arriba puede ver la pantalla de confirmacin de todo cuanto hemos hecho hasta estemomento, al hacer clic en el botnTerminar.
7/22/2019 Qu es Oracle Apex
33/121
17.Hemos llegado a la pantalla final del proceso de creacin de una nueva pgina, para estecaso, una nueva pantalla, si hace clic en el botn Ejecutar Pgina, ver el resultado de
todo el proceso que acabamos de culminar y que se muestra a continuacin.
7/22/2019 Qu es Oracle Apex
34/121
18.En la parte inferior de la pantalla tiene un men de opciones , haga clic en elenlace Editar Pgina 3, para mostrar la pgina que puede observar abajo. Aqu
podemos realizar un montn de cosas interesantes que poco a poco iremos aprendiendo.
7/22/2019 Qu es Oracle Apex
35/121
Hemos creado nuestra primer pantalla de mantenimiento para una tabla, como puede
observar en la imagen que se muestra luego del punto 17, existen varias cosas
importantes que debe notar:
Se cre en la parte superior de la pantalla, un nuevo separador llamado Empleados, elcual utilizamos cada vez que queremos mantener datos de los empleados, para lo cual solo
debemos hacer clic sobre l.
Cada campo de la pantalla fue creado con la etiqueta que definimos para la tabla en laentrega anterior para los Valores por Defecto de Interfaz de Usuario.
El campo de Fecha Ingresomuestra a su derecha un pequeo botn , el cual levantar uncalendario desde el cual podremos seleccionar la fecha indicada.
Solo se muestran los botones Regresary Crear, los botonesSuprimiry AplicarCambiossolo se mostrarn cuando accedemos a esta pantalla con un nmero de
empleado existente, lo cual es otro tema a tratar en una entrega posterior.
As de sencilla es la creacin de una nueva pgina para nuestra aplicacin de Oracle
Apex, espero que se sientan contentos y deseosos de seguir aprendiendo acerca de esta
herramienta, en la prxima entrega los enseare Cmo generar un reporte con la
ayuda del asistente de informes?
Creando una aplicacin con Oracle Apex Parte5
Para finalizar esta serie acerca de mo crear una aplicacin bsica en Oracle Apex, les
voy a explicar cmo crear un reporte para nuestra aplicacin.
Recapitulando, vimos en las entregas anteriores:
Cmo crear un espacio de trabajo para la aplicacin? Cmo crear el contenedor para la aplicacin?
http://www.ieskem.com/wordpress/?p=32http://www.ieskem.com/wordpress/?p=32http://www.ieskem.com/wordpress/?p=54http://www.ieskem.com/wordpress/?p=54http://www.ieskem.com/wordpress/?p=54http://www.ieskem.com/wordpress/?p=327/22/2019 Qu es Oracle Apex
36/121
Cmo definir los valores por defecto de la Interfaz de Usuario? Cmo crear una forma para captura de datos?
Empecemos pues con la tarea que nos queda pendiente.
Cmo generar un reporte con la ayuda del asistente de informes?
Dejemos de lado los pasos de cmo registrar el ingreso a nuestra aplicacin, que ya
debemos dominar bien para este momento y empecemos a crear nuestro reporte.
1. Estando en la pgina principal de la aplicacin, haga clic en el botn Crear Pgina >,abajo se muestra una ilustracin de la pgina que debera estar viendo.
2. Luego de realizar el paso anterior, ser llevado a la pgina que muestra la siguienteilustracin, haga clic en el botnInforme.
http://www.ieskem.com/wordpress/?p=68http://www.ieskem.com/wordpress/?p=68http://www.ieskem.com/wordpress/?p=76http://www.ieskem.com/wordpress/?p=76http://www.ieskem.com/wordpress/?p=76http://www.ieskem.com/wordpress/?p=687/22/2019 Qu es Oracle Apex
37/121
3. En este momento, le ser mostrada una nueva pgina (ver ilustracin de abajo), concuatro opciones posibles para generar su reporte, en el caso que nos ocupa, vamos a
explicar el uso del Informe de Asistente, as que haga clic sobre este botn.
7/22/2019 Qu es Oracle Apex
38/121
4. Sobre la pgina que muestra la ilustracin de abajo, ingrese los datos de identificacin delreporte (en mi caso voy a conservar el nmero de pgina que asigna Apex, as como laplantilla de regin).
7/22/2019 Qu es Oracle Apex
39/121
5. En el campo Ttulo de pginavamos a escribirInforme_empleados, o el nombre quele quiera asignar al reporte. En el campo Ttulo de regin, escribimosEmpleados, obien, un nombre que sea significativo del contenido de la regin y que nos permita
fcilmente darnos una idea de a que corresponde dicha regin. Por ltimo, hacemos clic en
el botn Siguiente >.
7/22/2019 Qu es Oracle Apex
40/121
6. Tenemos que crear un nuevo separador para el reporte que estamos creando, as que en lapgina que se muestra arriba, vamos a marcar la opcin Utilizar un juego de
separadores existente y crear un nuevo separador en el juego de separadores
existente.
7/22/2019 Qu es Oracle Apex
41/121
7. Ahora estar viendo una pgina similar a la de arriba, el campoJuego de Separadoreslovamos a mantener intacto, pues solo tenemos este juego de separadores. En elcampo Nueva Etiqueta de Separador, vamos a escribir Reporte Empleados, luego
hacemos clic en el botn Siguiente >.
7/22/2019 Qu es Oracle Apex
42/121
8. Sobre la pgina que se muestra arriba, vamos a seleccionar la tabla y columnas que van aformar parte del reporte, lo primero que tenemos que hacer es seleccionar la tabla, pues el
esquema es definido por omisin, como el que definimos para la aplicacin. En la lista de
seleccin Tabla/Vista, seleccione la tabla EMP.
7/22/2019 Qu es Oracle Apex
43/121
9. La ilustracin de arriba le muestra como debera estar vindose en este momento lapgina, puede utilizar los botones con flecha direccional para mover las diferentes
columnas entreColumnas Disponiblesy Columnas Mostradas, estas ltimas son las que
van a aparecer en el reporte, en mi caso voy a incluir todas las columnas en el reporte, as
que lo nico por hacer es hacer clic en el botn con flecha a la derecha.
10.Actualmente, debera estar viendo una pantalla igual a la que muestra la imagen de arriba,para continuar, haga clic en el botn Siguiente >.
7/22/2019 Qu es Oracle Apex
44/121
11.En la pgina siguiente (mostrada arriba), voy a seleccionar en el campo Plantilla deinforme, la opcin plantilla 3: Standard Report (with alt row colors), la cual me va
a presentar las lneas del reporte coloreadas alternamente (una s, una no). Voy a
mantener el nmero de filas por pgina intacto (15), usted puede definir a gusta cuantas
filas quiere que se muestren por pgina, tambin mantenemos los otros dos valores igualesy hacemos clic en el botn Siguiente >.
12.El paso final es confirmar la creacin del reporte. La ilustracin anterior muestra la pginade resumen con las caractersticas principales que definimos para el reporte, lo nico que
resta es hacer clic en el botn Crear Pgina de Informe.
13.Una pgina de conformacin en mostrada, para ver el informe resultante, haga clic en elbotn Ejecutar Pgina.
El resultado del proceso anterior debe ser una pgina igual a la que se muestra a
continuacin.
7/22/2019 Qu es Oracle Apex
45/121
Como puede ver, est el informe de todos los empleados incluidos en la tabla EMP, y
hay una nueva pestaa o separador en la parte superior de la pgina llamada Reporte
Empleados, tal y como lo definimos en el paso 7.
Este es un reporte bsico, llamado Clsicopor parte de Oracle Apex. Hay algunas
cosas interesantes que se podran hacer con l, como por ejemplo mostrar el nombre
del departamento, en lugar de su cdigo; o bien, podramos agregar un enlace hasta la
pgina de mantenimiento de empleados que creamos en el artculo anterior, para poder
modificar o eliminar los datos de los empleados, pero eso queda para otra entrega, en
caso de que a ustedes como lectores les interese.
Con esto pongo punto final a esta serie de artculos sobre cmo crear una aplicacin
sencilla con Oracle Apex. Espero que les sea de utilidad y espero sus sugerencias y
comentarios.
7/22/2019 Qu es Oracle Apex
46/121
Calcular un campo a partir de otros dos usandoJavascript
Haciendo un intermedio en la serie sobre cmo crear una aplicacin utilizando Oracle
Apex, quiero ofrecerles este trucopara poder calcular el valor de un campo nmerico
a partir de otros dos campos.
Para esto, lgicamente necesitamos una pgina que contenga una regin con tres
campos de tipo texto:
Los campos con los valores a utilizar PX_1 y PX_2 (donde X es el nmero de pgina de laaplicacin).
El campo donde dejaremos en resultado de la operacin PX_TOTAL.
Para realizar la suma de los campos PX_1 y PX_2, primero copie el siguiente cdigo enla Cabezera HTML de la Pgina:
function sumaItems()
{
function getVal(item)
{
if(document.getElementById(item).value != )
return parseFloat(document.getElementById(item).value);else
7/22/2019 Qu es Oracle Apex
47/121
return 0;
}
document.getElementById(PX_TOTAL).value =
getVal(PX_1) + getVal(PX_2);
}
Por supuesto, cambie los nombres de variables por los que usted est utilizando.
Segundo: en el campo PX_2, en los Atributos de Elemento de Pantalla HTML,
escriba el siguiente cdigo:
onBlur=javascript:sumaItems()
Eso es todo, ahora ejecute su pgina y escriba dos valores numricos en los campos
PX_1 y PX_2, luego del campo PX_2 pulse la tecla de tabulacin y el campo PX_TOTAL
ser calculado y su valor mostrado.
Como es de suponer, puede realizar cualquier otro tipo de calculos ms complejos.
Puede ver este ejemplo implementado para suma, resta, multiplicacin y divisin en mi
aplicacin de ejemplo en OTN, en la siguiente
direccin:http://apex.oracle.com/pls/otn/f?p=56897.
Listas de valores en cascada
Una de las cosas que ms causan curiosidad a la hora de realizar aplicaciones con
Oracle Apex, es el poder definir listas de valores en cascada, donde el valor de la
segunda lista o an una tercera o cuarta listas, dependan del valor seleccionado en la
primera lista.
http://apex.oracle.com/pls/otn/f?p=56897http://apex.oracle.com/pls/otn/f?p=56897http://apex.oracle.com/pls/otn/f?p=56897http://apex.oracle.com/pls/otn/f?p=568977/22/2019 Qu es Oracle Apex
48/121
En realidad, es una tarea que al final resulta sencilla de realizar, lo importante es
conocer el concepto de como funcionan las pginas HTML y cmo se pueden
implementar de manera sencilla.
Para este artculo me voy a centrar en la creacin de una pgina sencilla con doscampos del tipo Lista de Seleccin, que van a estar definidos por dos listas de valores;
una para los datos contenidos en la tabla DEPT del esquema SCOTT, y otra para
los datos de la tabla EMP, pero que va a mostrar solo los datos de esta tabla que
correspondan con el departamento seleccionado en la lista de departamentos.
Para realizar esto:
1. Ingrese a su rea de trabajo.2. Seleccione la aplicacin en la que va a crear la pgina.3. Cree una nueva pgina en blanco, haciendo clic en el botnCrear Pgina.4. Cree una bifurcacin incondicional direccionada al mismo nmero de pgina que acaba de
crear.
5. Ahora cree una regin de tipo HTML.6. Cree un campo llamado Px_LOV_DEPTO del tipo Lista de Seleccin con Ejecucin,
donde x corresponde al nmero de pgina creada.
7. Incluya el siguiente cdigo en la definicin de lista de valores del campo:select DNAME display_value, DEPTNO return_value
from DEPT
order by 1
8. Cree un nuevo campo, ahora del tipo Lista de Seleccin, con el nombrePx_LOV_EMP y agrguele el cdigo siguiente en la definicin de lista de valores:
select ENAME display_value, EMPNO return_value
from EMP
where deptno = x_LOV_DEPTO
order by 1
9. Ejecute la pgina, experimente y observe lo que sucede con los valores de la lista deempleados cada vez que es seleccionado un nuevo departamento.
Puede observar esta funcionalidad ejecutndose en mi rea de trabajo de OTN en la
siguiente direccin:apex.oracle.com/pls/otn/f?p=56897
http://apex.oracle.com/pls/otn/f?p=56897http://apex.oracle.com/pls/otn/f?p=56897http://apex.oracle.com/pls/otn/f?p=56897http://apex.oracle.com/pls/otn/f?p=568977/22/2019 Qu es Oracle Apex
49/121
Exportando reportes Apex a Excel
Son varias las solicitudes que me han hecho para que explique cmo exportar un
reporte desde Apex a Microsoft Excel, por esto, en este artculo voy a definir un paso a
paso de cmo lograr esto, con el uso de un paquete desarrollado por mi amigo Denes
Kubicek para tal propsito.
Existen dos versiones de este paquete, una para realizar la exportacin desde Apex y
otra para hacerlo desde Oracle XE, al final de este artculo podrn encontrar los enlaces
para descargar ambos paquetes, los cuales muy gentilmente han sido puestos a
disposicin de todos por mi amigo Denes.
Antes de entrar en materia , debo mencionar que Apex tiene definidos procedimientos
estndar para realizar la exportacin de reportes a formatos variados como Excel, Word
y PDF, sin embargo, para poder utilizar esas funcionalidades, se hace necesario contar
con el componente BI Publisher de Oracle, el cual requiere de una licencia vlida, la que
a su vez tiene un costo elevado y no todos podrn contar con ella, por lo que esta
alternativa que les propongo, puede resultarles de mucha utilidad.
El procedimiento para instalar el paquete y poder exportar reportes a Excel es el
siguiente:
1. Descargue el paquete desde el enlace que se proporciona al final de este artculo.2. Descomprima el contenido del archivo.3. Instale el paquete en el esquema del usuario que desea utilizarlo:1. Ejecute una instancia de SQL: DRIVE: sqlplus usuario/clave@conexion2. @export_to_excel_pkg.sql
Ingrese a la aplicacin Apex
Si no cuenta con una Pgina 0definida, crela.
Ingrese a Componentes Comunes y luego a Procesos de Aplicacin
Haga clic en el botn Crear >y cree un proceso con las siguientes caractersticas:
7/22/2019 Qu es Oracle Apex
50/121
0. Nombre: DOWNLOAD_EXCEL1. Secuencia: 12. Punto: En carga: Antes de cabecera (cabecera de plantilla de pgina)
3. Haga clic en el botn Siguiente >4. En el texto de proceso ingrese el siguiente segmento de cdigo:
BEGIN
export_excel_pkg.print_report (:t_region_id, :t_excel_name, :t_page);
END;
5. En el Mensaje de error escriba el mensaje que desee que aparezca en caso de que seproduzca un error
6. Haga clic en el botn Siguiente >7. Haga clic en el botn Crear Proceso
Cree los siguientes elementos de aplicacin: T_EXCEL_NAME, T_PAGE y
T_REGION_ID:
0. Ingrese a Componentes compartidos y a Elementos de aplicacin1. Para cada uno de los elementos haga clic en el botnCrear >
7/22/2019 Qu es Oracle Apex
51/121
2. Ingrese el nombre de cada elemento3. Haga clic en el botn Crear
Ingrese al reporte que desea exportar y dirjase a la seccin de Regiones
En la regin del reporte deseado, haga clic en el enlaceInforme
All, en la seccin de Exportacin de Informe, seleccione Sen el campo Activar
Salida de CSV
En el campo Etiqueta de enlace, ingrese el siguiente cdigo:
Exportar a Excel
Haga clic en la pestaa Atributos de Impresin y seleccioneSen el
campo Activar Impresin de Informe
Haga clic en el botn Aplicar Cambios
Una vez realizado esto, en el pie de pgina de la regin del reporte le aparecer un
enlace con la leyenda Exportar a Excel, el cual le permitir exportar a Excel su
reporte, sin embargo, hay algunas consideraciones a tomar en cuenta:
1. Los puntos 1 al 8 del procedimiento anterior, se deben realizar una nica vez para cadaespacio de trabajo en que desee implementar esta funcionalidad, sin embargo, si losespacios de trabajo pertenecen a un mismo esquema (usuario de base de datos), la
instalacin del paquete (puntos 1 al 3) se realizan una sola vez.
2. En el cdigo del punto 12, el segmento que dice my_report, es el nombre con que seexportar el reporte a Excel, por tanto, lo puede cambiar a su antojo, para que este
nombre refleje el contenido del reporte exportado.
3. El segmento del punto 12 que dice Exportar a Excel, es el texto que se muestra para elenlace de exportacin y tambin lo puede manejar a su antojo, puede poner el texto que
desee, o an incluir alguna imagen.4. No utilice el sufijo #OWNER# en el cdigo del query del reporte , esto le producir
un error y no obtendr el resultado deseado.
5. El esquema (Usuario de base de datos) que ejecute este procedimiento, necesita derechoso permisos de ejecucin sobre el paquete DBMS_SQL.
6. El paquete NO FUNCIONARpara reportes del tipo Funcin retornando SQL.7. Si los reportes incluyen una clusula group by, necesita modificar el paquete y utilizar la
sintaxis v(ITEM) en lugar de(select v(ITEM) from dual)
7/22/2019 Qu es Oracle Apex
52/121
Con esto es suficiente para que pueda exportar sus reportes a Excel, lo nico que le
resta por hacer es bajar el paquete, instalarlo y empezar a exportar sus reportes.
Suerte y espero tenerlos de regreso pronto con sus comentarios, preguntas y
sugerencias. A continuacin los enlaces de descarga de los paquetes para exportar aExcel.
Paquete exporta reportes desde Apex
Paquete exporta reportes desde Oracle XE
Impresin PDF en Oracle Apex
Introduccin y arquitectura
Apex 3.0 introdujo la habilidad de exportar una regin de reporte a formato PDF
esencialmente, imprimir un reporte. Esto es definido declarativamente y est disponible
para todas las regiones de reporte. Los usuarios de Application Express ahora pueden
ver e imprimir reporte con cabeceras de pgina que se repiten en cada pgina y
contenido que se conforma propiamente a varios tamaos de pgina. Para lograr esto,
los datos del reporte son transformados a formato PDF utilizando un servidor de
reportes definido externamente. Otras mejoras de impresin han sido incorporadas en
la versin 3.1 de Oracle Application Express, dentro de los Atributos de Impresin de la
Regin y los Queries de los Reportes. La ilustracin de abajo muestra la arquitectura deimpresin de Oracle Express:
http://www.ieskem.com/wordpress/wp-content/uploads/2008/12/export_excel_apex.ziphttp://www.ieskem.com/wordpress/wp-content/uploads/2008/12/export_excel_apex.ziphttp://www.ieskem.com/wordpress/wp-content/uploads/2008/12/export_excel_xe.ziphttp://www.ieskem.com/wordpress/wp-content/uploads/2008/12/export_excel_xe.ziphttp://www.ieskem.com/wordpress/wp-content/uploads/2008/12/export_excel_xe.ziphttp://www.ieskem.com/wordpress/wp-content/uploads/2008/12/export_excel_apex.zip7/22/2019 Qu es Oracle Apex
53/121
Cuando el usuario final de la aplicacin hace clic en el enlace de impresin, la solicitudes enviada al motor de Apex (que es parte de la base de datos Oracle). Luego el motor
de Apex genera los datos correspondientes del reporte en formato XML y la plantilla del
mismo en formato XSL-FO o RTF. EL motor de reportes externo entonces transforma los
datos y la plantilla a PDF, el cual es desplegado al usuario final utilizando el servlet de
conversin que viene con BI Publisher 10.1.3.2. Toda esta complejidad de arquitectura
es transparente para el usuario final y los desarrolladores. Los usuarios finales solo
deben hacer clic en los enlaces de impresin, y los desarrolladores solo deben definir o
rellenar declarativamente las regiones para poder utilizar la impresin en PDF.
Existen dos tipos de impresin en PDF, una estndar, la cual voy a tratar en este
artculo, y la que se menciona en el prrafo anterior y que es conocida como Avanzada,
y que por el momento voy a dejar de lado, debido a que BI Publisher es un producto
licenciado de Oracle y que tiene un costo considerable, por lo que no todos podrn
contar con esta como parte de sus aplicaciones.
Opciones de configuracin
Su servidor de aplicaciones puede ser Oracle BI Publisher (como se mencion arriba),
OC4J con Apache FOP o cualquier otro motor de procesamiento XSL-FO estndar.
Lgicamente, si se pudiera utilizar BI Publisher como su servidor de reportes, se tendr
un mayor nivel de funcionalidad, a continuacin se presenta una breve descripcin de
ambas tipos de configuracin para que se pueda comparar.
Opcin Estndar (Bsica)
La configuracin estndar puede ser implementada con Apache FOP o cualquier otro
motor de procesamiento XSL-FO estndar. A partir de Apex 3.0.1, se incluye dentro de
este, una configuracin de Apache FOP en conjunto con Oracle Containers para J2EE
7/22/2019 Qu es Oracle Apex
54/121
(10.1.3.2). Esto provee la habilidad de dar formato declarativo de las regiones de
reportes y queries de reportes con control bsico sobre los atributos de la pgina. Estos
atributos incluyen orientacin, tamao, formato de cabeceras de columnas, encabezado
de pgina y pie de pgina. Las ilustraciones de abajo muestran los reportes obtenidos
con la configuracin estndar:
Opcin Avanzada
La configuracin avanzada requiere una licencia vlida de Oracle BI Publiser. Con esta
configuracin, usted cuenta con todas las capacidades de la opcin estndar ms la
habilidad de definir y desarrollar trazados de reportes basados en RTF, utilizando para
ello el complemento de Plantilla Word de BI Publisher. Esto provee fcil control grfico
sobre cada aspecto de su reporte. Se pueden agregar logotipos a sus pginas, controles
de agrupado complejos y tener control total de la paginacin. Fcilmente puede
empotrar grficos y crear reportes que luzcan exactamente como formularios estndar
de cualquier organizacin. A continuacin algunos ejemplos de reportes que ilustran la
configuracin avanzada:
http://www.ieskem.com/wordpress/wp-content/uploads/2009/01/pdf_standard3.jpghttp://www.ieskem.com/wordpress/wp-content/uploads/2009/01/pdf_standard2.jpghttp://www.ieskem.com/wordpress/wp-content/uploads/2009/01/pdf_standard1.jpg7/22/2019 Qu es Oracle Apex
55/121
Instalando y configurando Apache FOP
Prerequisitos
Una configuracin con soporte de Apache FOP en conjuncin con Oracle Containers para
J2ee (10.2.3.2) viene como parte de Apex 3.0.1 o superior. La instalacin de Apache
FOP viene incluida en la distribucin de Apex
bajo directorio_apex/utilities/fop/fop.war. (directorio_apex, es el directorio desde
el que se instala Apex)
Por favor tome nota de que el soporte a Apache FOP en conjunto con OC4J (10.1.3.2)
tiene soporte por parte de Oracle SOLOcuando se utilizan los archivos que se
proporcionan. Las configuraciones alternas de Apache FOP no tienen ningn tipo de
soporte.
Antes de empezar, usted va a necesitar OC4J instalado y ejecutndose. La siguiente
versin de OC4J est verificada y trabaja con la solucin FOP:
Oracle Containers para J2EE (10.1.3.2)o Disponible para descargar desde OTNo Instrucciones de instalacin y configuracin (en ingls)
Paso 1: Instalando el archivo WAR
Coloque el archivo fop.war (localizado en directorio_apex/utilities/fop) en una
localizacin accesible de su computadora local. Luego siga las siguientes instrucciones:
http://www.oracle.com/technology/software/products/ias/htdocs/utilsoft.htmlhttp://www.oracle.com/technology/software/products/ias/htdocs/utilsoft.htmlhttp://download.oracle.com/docs/cd/B32110_01/web.1013/b28950/toc.htmhttp://download.oracle.com/docs/cd/B32110_01/web.1013/b28950/toc.htmhttp://www.ieskem.com/wordpress/wp-content/uploads/2009/01/pdf_advanced3.jpghttp://www.ieskem.com/wordpress/wp-content/uploads/2009/01/pdf_advanced2.pnghttp://www.ieskem.com/wordpress/wp-content/uploads/2009/01/pdf_advanced1.jpghttp://download.oracle.com/docs/cd/B32110_01/web.1013/b28950/toc.htmhttp://www.oracle.com/technology/software/products/ias/htdocs/utilsoft.html7/22/2019 Qu es Oracle Apex
56/121
1. Navegue hasta la Consola de OC4J del Enterprise Manager (http://localhost:8888/em) Losdatos deben corresponder con sus datos de configuracin.
2. Selecciones la pestaa de Aplicaciones
3.
Haga clic en el botn Desplegar(Deploy)
4. En la pgina de Desplegar: Seleccionar archivoutilice la opcin El archivo estpresente en el host local. Cargar el archivo al servidor donde el Control de Servidor de
Aplicaciones est ejecutndose (o algo similar). Use el navegador de archivos para
seleccionar el archivo fop.war y haga clic en el botn Siguiente.
5. En la pgina Desplegar: Atributos de Aplicacin defina el nombre de la aplicacincomo fop y limpie o desmarque la opcin Context root, luego haga clic en el
botn Siguiente.
6. En Desplegar: Definiciones de desplegado haga clic en el botn Desplegar.Paso 2: Configurar Apex para utilizar la impresin PDF y JSP
Una vez que tiene FOP instalado, accese los parmetros de Impresin de Reporte:
1. Acceda a la pgina de Administracin de Servicios2. Seleccione Administrar Servicio3. Seleccione Definiciones de Instancia , bajo Administrar Definiciones de Ambiente4. Haga clic en Impresin de Reportes, para enfocarse en los atributos de Impresin de
Reportes nicamente
Ahora, especifique los siguientes atributos:
Oracle BI Publisher: Soporte Estndar Protocolo Servidor de Impresin: HTTP o HTTPS (dependiendo de su configuracin
particular)
Direccin de host de Servidor de Impresin: el nombre de la computadora donde elcontenedor java est ejecutndose por ejemplo: micompu.micompaia.com
Puerto del Servidor de Impresin: el puerto en que el OC4J est escuchando porejemplo 8888
El script del Servidor de Impresin: /fop/apex_fop.jspAsegrese de ingresar las definiciones del servidor de aplicaciones como se especifica,
no use http:// delante de su nombre de computadora, no use dos puntos (:) en el
puerto y no utilice / despus del nombre del JSP, solo pordelante:/fop/apex_fop.jsp.
7/22/2019 Qu es Oracle Apex
57/121
Nota:Las imagenes utilizadas en este artculo son propiedad de la Corporacin Oracle.
Mensajes de ayuda en caja pop-up
Una de las cosas ms importantes en toda aplicacin, es proporcionar al usuario final, la
mayor ayuda posible, de la manera ms sencilla. Es por eso que en esta ocasin, les
ofrezco una alternativa para mostrar al usuario mensajes de ayuda en una ventana que
se levanta al pasar el puntero del mouse sobre un enlace, el cual puede ser del tipo
texto, o bien, una imagen.
El presente tip est diseado para utilizar en pginas que posean una forma de
entrada de datos, ms adelante en este artculo encontrar los enlaces a los archivos de
cdigo necesarios para realizar est tarea. Espero que les sea de utlidad. Como
siempre, pueden ver esta funcionalidad en accin en mi espacio de trabajo enOTN.
He aqu el procedimiento:
1. Descargue el archivo con el cdigo javascript de aqu:cajatip.js2. Descargue la hoja de estilo en cascada para la caja:pista.css3. Cargue el archivo pista.css en la aplicacin:1. Ingrese a la aplicacin.2. Luego a Componentes Compartidos3. Por ltimo a Archivos estticos y siga el asistente para cargar el archivo.
Ahora cargue el archivo cajatip.js en la aplicacin:
0. En Componentes Compartidos.1. Haga clic en Hojas de Estilo en Cascada y siga el asistente para cargar el archivo.
Si desea utilizar una imagen para levantar la caja de ayuda, utilice esta
0. Nuevamente en Componentes Compartidos1. Ingrese a Imgenes y complete el asistente para cargar la imagen anterior.
Ahora, para cada pgina que contenga campos de ingreso de datos y que desee que
contenga cajas de ayuda para sus campos:
0. En la definicin de la pgina, en Encabezado HTML ingrese el siguiente cdigo:
http://apex.oracle.com/pls/otn/f?p=56897http://apex.oracle.com/pls/otn/f?p=56897http://apex.oracle.com/pls/otn/f?p=56897http://www.ieskem.com/wordpress/wp-content/uploads/2009/01/cajatip.jshttp://www.ieskem.com/wordpress/wp-content/uploads/2009/01/cajatip.jshttp://www.ieskem.com/wordpress/wp-content/uploads/2009/01/cajatip.jshttp://www.ieskem.com/wordpress/wp-content/uploads/2009/01/pista.csshttp://www.ieskem.com/wordpress/wp-content/uploads/2009/01/pista.csshttp://www.ieskem.com/wordpress/wp-content/uploads/2009/01/pista.csshttp://www.ieskem.com/wordpress/wp-content/uploads/2009/01/pista.csshttp://www.ieskem.com/wordpress/wp-content/uploads/2009/01/cajatip.jshttp://apex.oracle.com/pls/otn/f?p=568977/22/2019 Qu es Oracle Apex
58/121
1. En cada elemento al que desee agregarle una caja de ayuda, en el artibuto Textoposterior al Elemento agregue el siguiente cdigo:
[?]
Si desea un enlace de texto, o bien:
Si desea utilizar la imagen para acceder a la caja de ayuda.
2. En el cdigo anterior, en cualquiera de los dos casos, cambie el cdigo Texto deayuda por el mensaje que desea que sea mostrado para cada campo en particular.
3. Tambin puede modificar el tamao de la caja de ayuda, si cambia el cuarto parmetro dela funcion muestrapista
Y eso es todo, ahora tiene una manera bonita e interesante de presentar al usuario final
ayuda de manera sencilla e interesante
Si lo desea, puede modificar el archivo pista.css para cambiar el color de fondo de la
caja, el tipo y tamao de letra o cualquier otra caracterstica de la caja.
Oracle Apex para desarrolladores de OracleForms
Existe una marcada tendencia a buscar sistemas livianos, de bajo consumo de ancho de
banda en las redes de las empresas y que permitan el uso de estaciones de trabajo de
7/22/2019 Qu es Oracle Apex
59/121
bajo costo, esto con el fin de bajar los costos de operacin de las mismas y sobre todo
en estos momentos de crisis.
Esta es la razn por la que les presento esta entrega, sobre todo a aquellos
desarrolladores de Oracle Forms, que an no han oido hablar de Oracle ApplicationExpress (Apex).
Oracle Forms fue introducido a mediados de los aos 80 como una de las primeras
herramientas de desarrollo ms poderosas para desarrollar aplicaciones de bases de
datos, con una larga y fructfera vida de cerca de 20 aos y que an hoy en da sigue
cumpliendo con sus objetivo. Durante todo este tiempo Oracle Forms ha pasado del
modo carcter y el modo de bloque a cliente servidor y de all a Internet con el uso de
Forms Server, sin embargo, debido a las nuevas tendencias, muchas empresas hoy en
da quieren realizar una transicin a soluciones basadas en HTML.
Existen muchas alternativas para los desarrolladores que desean aplicaciones nativas en
HTML, una de esas alternativas es utilizar JDeveloper en conjunto con ADF (Oracle
Application Development Framework), alternativa que no vamos a ampliar aqu.
Otra alternativa que debera ser apliamente considerada es Oracle Application Express
(Apex).
Si su proyecto o departamento de TI cuenta con lo siguiente:
Profesionales de TI con conocimientos considerables de SQL y PL/SQL Experiencia limitada en programacin orientada a objetos Tablas almacenadas en una base de datos Oracle
Entonces debera considerar el uso del Apex en el desarrollo de sus aplicaciones. La
siguiente tabla muestra algunas diferencias y similitudes existentes entre Oracle Forms
y Apex.
Caracterstica Oracle Forms Apex Descripcin
4GL
Declarativo
Si Si Oracle Forms presenta las
aplicaciones usando metadata
almacenada en un archivo
.fmx. Apex presenta las
aplicaciones utilizando
metadata almacenada en una
base de datos Oracle.
Lenguajes
4GL
SQL y PL/SQL SQL y PL/SQL Oracle Forms ejecuta
PL/SQL del lado del cliente.Apex utiliza PL/SQL del lado
7/22/2019 Qu es Oracle Apex
60/121
del servidor.
Interface de
Usuario
Java HTML Oracle Forms es accesado
utilizando un navegador web
y su interface de usuario es
presentada usando un JVM.
Apex tambin se invoca
desde un navegador web pero
su interface de usuario es
HTML y JavaScript.
Dibujo de la
pgina
Ventanas/Lienzos Pginas/Regiones Oracle Forms usa
posicionamiento exacto y
Apex usa posicionamiento
relativo HTML.
Control de
campos del
lado del cliente
Desde
Disparadores
Javascript y AJAX Oracle Forms provee
validacin robusta y
procesamiento a nivel decampo. Apex permite
validacin y procesamiento
de eventos declarativos a
nivel de pgina. La validacin
y el procesamiento de eventos
a nivel de campo requieren el
uso de Javascript y AJAX.
Apoyo a
Servicios Web
Si Si Ambos Oracle Forms y Apex
apoyan el llamado a servicios
Web, por ejemplo BPEL.Grficos BI Beans Flash Oracle Forms usa BI Beans
como su motor de grficos
integrado. Apex usa Flash
Charts como su motor de
grficos integrado.
Bloqueo Pesimista,
Optimista,
Personalizado
Optimista,
Personalizado
Oracle Forms permite un
rango de modelos de bloqueo
con el modelo pesimista por
omisin. Debido a su
arquitectura asincrnica,Apex usa un modelo de
bloqueo optimista.
Conexin a
Base de Datos
Sincrnica Asincrnica Oracle Forms utiliza
conexiones sincrnicas para
permitir a las transacciones
abarcar mltiples
interacciones en pantalla.
Apex no permite abarcar
transparentemente
transacciones por vistas de
pgina. Apex permite atransacciones abarcar vistas
7/22/2019 Qu es Oracle Apex
61/121
de pgina usando
colecciones.
Apoyo a
Usuarios
concurrentes
Conexin a base
de datos por
usuario sostenida
por sesin
Conectividad a
base de datos solo
durante el
procesamiento de
la solicitud
Cada usuario conectado a
Oracle Forms mantiene una
conexin sincrnica a la base
de datos Oracle. Los usuarios
de Apex son
asincrnicamente conectados
a la base de datos Oracle.
Arquitectura 3 Capas 2 Capas Con Oracle Forms, la lgica
de la aplicacin es procesada
en la base de datos Oracle, un
servidor de capa media Forms
Server, o en el cliente
robusto. Con Apex, la lgica
de la aplicacin en PL/SQLes procesada dentro de la base
de datos Oracle. La lgica del
lado del cliente es
implementada utilizando
JavaScript. Las
comunicaciones HTTP son
facilitadas usando Apache y
Mod/PLSQL.
Y an ms buenas noticias; Oracle ha anunciado una nueva caracterstica dentro delambiente de programacin de Apex, en su prxima versin, es probable que contemos
con una herramienta que nos va a ayudar a convertir los Forms de Oracle a pginas de
Apex, as que mantngase en contacto esperando nuevas noticias.
Si usted es desarrollador de Oracle Forms y desea saber ms acerca de Apex, le invito a
leer algunas de mis entregas anteriores:
Qu es Oracle Apex?
Creando una aplicacin con Oracle Apex Parte 1
Creando una aplicacin con Oracle Apex Parte 2
Creando una aplicacin con Oracle Apex Parte 3
Creando una aplicacin con Oracle Apex Parte 4
Creando una aplicacin con Oracle Apex Parte 5
Controlando el aspecto de los campos
Una pregunta frecuente, es cmo se puede controlar la manera en que lucen los
campos en una forma realizada con Oracle Apex?
http://www.ieskem.com/wordpress/?p=19http://www.ieskem.com/wordpress/?p=19http://www.ieskem.com/wordpress/?p=32http://www.ieskem.com/wordpress/?p=32http://www.ieskem.com/wordpress/?p=32http://www.ieskem.com/wordpress/?p=32http://www.ieskem.com/wordpress/?p=54http://www.ieskem.com/wordpress/?p=54http://www.ieskem.com/wordpress/?p=54http://www.ieskem.com/wordpress/?p=54http://www.ieskem.com/wordpress/?p=68http://www.ieskem.com/wordpress/?p=68http://www.ieskem.com/wordpress/?p=68http://www.ieskem.com/wordpress/?p=68http://www.ieskem.com/wordpress/?p=76http://www.ieskem.com/wordpress/?p=76http://www.ieskem.com/wordpress/?p=76http://www.ieskem.com/wordpress/?p=76http://www.ieskem.com/wordpress/?p=104http://www.ieskem.com/wordpress/?p=104http://www.ieskem.com/wordpress/?p=104http://www.ieskem.com/wordpress/?p=104http://www.ieskem.com/wordpress/?p=104http://www.ieskem.com/wordpress/?p=76http://www.ieskem.com/wordpress/?p=68http://www.ieskem.com/wordpress/?p=54http://www.ieskem.com/wordpress/?p=32http://www.ieskem.com/wordpress/?p=197/22/2019 Qu es Oracle Apex
62/121
7/22/2019 Qu es Oracle Apex
63/121
DESCRIPTION VARCHAR2(50)
MDATE DATE
DEPTNO NUMBER(2,0)
La columna MEETID se actualiza con una secuencia a la hora de hacer el INSERT.
Para generar un calendario, lgicamente debemos crear una pgina, el procedimiento es
el siguiente:
1. En su aplicacin cree una nueva pgina y seleccione la opcin calendario.
2. Continue el asistente hasta llegar a la pgina en donde se le solicita el cdigo SQL utilizadopara crear el calendario e introduzca SELECT description, mdate, deptno, meetid
from meet where deptno = P99_DEPTNOtal y como se observa en la imagen a
continuacin. Cambie el nmero de pgina por el correspondiente a la suya.
7/22/2019 Qu es Oracle Apex
64/121
3. En la pgina de Columnas de Fecha/Visualizacinseleccione las columnas tal y comomuestra la siguiente imagen.
4. Haga clic en el enlace derecho de la seccin Regiones para la regin del calendario, quele muestra la imagen a continuacin.
5. En el campo Plantilla de Calendario seleccione la opcinCalendar, Alternative 1.6. Cree una nueva regin que se muestre arriba de la seccin del calendario y agregue un
campo tipo lista de valores con ejecucin en donde se muestren los diferentes
departamentos registrados en la tabla DEPT.
7. Ejecute la pgina, debera ver algo similar a lo que muestra la siguiente imagen.
7/22/2019 Qu es Oracle Apex
65/121
Como puede observar en la imagen anterior, debajo de cada da del mes, aparecen las
descripciones de cada registro de la tabla MEET que correspondan con cada da
especfico y el departamento seleccionado, de acuerdo con la consulta SQL que se
proporcion.
Si selecciona diferentes departamentos ver como cambia el contenido del calendario.
Ahora bien, hagamos este ejercicio un poco ms interesante, convirtamos cadadescripcin mostrada en el calendario, en un enlace que nos dirija a un reporte en
donde se muestra todo el registro que aparece en el calendario.
1. Cree una nueva pgina tipo reporte que muestre los registros seleccionados de acuerdo conel siguiente cdigo SQL: select MEETID, DESCRIPTION, MDATE, DEPTNO from MEET
where deptno = 9_DEPTNO and meetid = 9_MEETID (Sin incluir las comillas)
2. Cree los siguientes tres campos ocultos P9_DEPTNO,P9_MEETID, P9_DNAME (recuerdecambiar el nmero de pgina por el que corresponda con la suya, tanto en este punto
como en el anterior).
3. Regrese a la pgina del calendario y haga clic en el enlaceCalendario de laseccin Regionesy en la seccin Enlace de columnarealice los cambios necesarios para
que luzca similar a la imagen mostrada abajo.
7/22/2019 Qu es Oracle Apex
66/121
4. En el campo Destino de URL, debe ingresar el siguientecdigo: f?p=&FLOW_ID.:9:&SESSION.::&DEBUG.::P9_DEPTNO,P9_MEETID:#DEPT
NO#,#MEETID# (Nuevamente recuerde cambiar el nmero de pgina en este caso 9,
por el correspondiente a su aplicacin TODOS los nmero 9 que aparezcan).
5. Aplique los cambios y ejecute nuevamente su pgina. Debera ver una imagen similar a lasiguiente.
Como puede ver, el color de las anotaciones cambio, y si mueve el cursor del ratn
sobre alguna de ellas, ver que ahora es un enlace, haga clic en cualquiera de ellos y le
deber aparecer la pgina del reporte creado, mostrando el registro correspondiente.
Espero que les sea de mucha utilidad.
Les recuerdo que pueden ver este ejemplo funcionando en mi aplicacin de ejemplo
enOTN.
http://apex.oracle.com/pls/otn/f?p=56897http://apex.oracle.com/pls/otn/f?p=56897http://apex.oracle.com/pls/otn/f?p=56897http://apex.oracle.com/pls/otn/f?p=568977/22/2019 Qu es Oracle Apex
67/121
Validacin de campos utilizando patronesjavascript
Una de las cosas ms importantes que debe cuidar todo buen desarrollador, es vigilar
los ms posible, la calidad de los datos que se incluyen en un sistema. Bajo este
precepto, es importante el realizar tareas de verificacin de datos antes de que estos
sean guardados en las tablas.
Por este motivo, en esta ocasin quisiera presentarles el uso de patrones de
expresiones regulares javascript, para realizar algunas de estas tareas de verificacin.
Un patrn o expresin regular es, bsicamente, una cadena de caracteres simples y
especiales que utilizamos para definir el contenido de una constante o una variable, y
por ende, de un campo de datos.
Para aquellos de ustedes que deseen aprender ms acerca de los patrones o
expresiones regulares, los invito a realizar una bsqueda en Internet, donde pueden
encontrar muy buen material al respecto.
Para utilizar estos patrones o expresiones regulares para validar los datos ingresados en
nuestras formas de Oracle Apex, el procedimiento es el siguiente:
1. Ingrese a la pgina de propiedades del campo al que desee agregar la validacin.2. Dirijase a la seccin Elemento.
3. En el campoAtributos de Elemento de Pantalla HTML ingrese el siguientecdigo: onChange=javascript:patronRe = /patron/;if (!patronRe.test(this.value))
{alert(Mensaje de error);} else {html_GetElement(P99_SIGUIENTE).focus();}
4.
Haga clic en el botn Aplicar cambios
7/22/2019 Qu es Oracle Apex
68/121
El resultado de un dato errneamente introducido sera algo similar a lo que se muestra
en la siguiente ilustracin.
Algunas consideraciones a tomar en cuenta:
Reemplace en el cdigo de arriba, la cadena patron, por el patrn correspondiente al datoa verificar.
Reemplace Mensaje de error, por el mensaje que desea que aparezca mostrado en laventana de alerta, cuando el dato ingresado no se adeca al patrn proporcionado.
La cadena del patrn debe ser ingresada consecutivamente, no debe incluir saltos de lnea,pues esto provocara un error en la funcin de validacin.
Finalmente, les dejo tres ejemplos de patrones muy tiles y que pueden utilizar en sus
formas.
Patrn para permitir solo el ingreso de letras (maysculas y minsculas) y espacios en
blanco, para una cadena que debe tener al menos 10 caracteres de largo.
/[a-zA-Z\s]{10,}/
Patrn para verificar un nmero telefnico, el cual debe inicial con un 2 o un 8 y que debe
incluir don grupos de nmeros de 4 dgitos cada uno, separados por un espacio en blanco o
un guin.
/^(2|8)\d{3}(-| )\d{4}/
Patrn para verificar una direccin de correo electrnico. Verifica que los dominios esten
contenidos en uno de los siguientes: com, net, org, edu, int, mil, gov, arpa, biz, aero, name,
coop, info, pro, museum
7/22/2019 Qu es Oracle Apex
69/121
/^\w+([\.-]?\w+)*@\w+([\.-
]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|i
nfo|pro|museum))$/
Solo me resta invitarlos a ver un ejemplo implementado en mi espacio de trabajoenOTN.
Con cul registro estoy trabajando?
En muchas ocasiones dentro de una misma pgina tenemos una estructura padre/hijo,
donde los resultados de un reporte dependen del registro seleccionado en la regin
padre, el problema que se da, es que si no queremos mostrar en la regin hijo, los
datos del padre seleccionado, no sabemos entonces a que padre corresponden los
registros de la regin hijo.
Para evitar esto, y saber a que registro padre corresponden los registros en la regin
del hijo, les propongo esta fcil solucin:
1. Cree una pgina de tipo Informe con el cdigo de consulta que desee o necesite, y
como ltima columna de la consulta, agregue el siguiente cdigo:
CASE
WHEN deptno = 10_DEPTNO then
ELSE
null
END AS Seleccionado
2. Cree un elemento oculto llamado P99_FILTRO
3. Haga clic en el enlace Informe de la regin del reporte anterior
4. Haga clic en el icono Editar del campo de llave primaria del reporte creado
5. En la seccin Enlace de columna
=> En el campo Texto de enlace escriba:
=> En la lnea Elemento 1 ingrese el siguiente par de valores:P99_FILTRO,
#FILTRO#
http://apex.oracle.com/pls/otn/f?p=56897:1http://apex.oracle.com/pls/otn/f?p=56897:1http://apex.oracle.com/pls/otn/f?p=56897:1http://apex.oracle.com/pls/otn/f?p=56897:17/22/2019 Qu es Oracle Apex
70/121
=> Haga clic en el botn Aplicar Cambios
6. Ahora cree una nueva regin de tipo Informe con el cdigo de la consulta Hijo y
agrguele al final la opcin de filtro:
where filtro = 99_FILTRO
Eso es todo, solo le queda ejecutar la pgina y hacer clic en cualquiera de los iconos de
la columna empleados y ver que sucede.
Recuerde que para hacer su propia pgina puede utilizar los cdigos de consulta
propios, as como las variables que necesite, solamente debe cambiar las
proporcionadas en este ejemplo.
Tambin puede utilizar las imagenes que usted desee, en caso de que las utilizadas en
este ejemplo no sean de su agrado.
Puede ver una versin de este ejemplo funcionando en mi espacio de trabajo enOTN
Definiendo el tamao de las regiones
Una de las caractersticas importantes de una aplicacin es su apariencia. No es lo
mismo, por ejemplo, un reporte que sigue y sigue hacia la derecha, ms all de lo quela pantalla del computador puede mostrar, o bien, que se extienda indefinidamente
hacia abajo de la pgina.
Para evitar esto, y hacer la aplicacin ms atractiva para el usuario final, podemos
utiilzar las caractersticas de los archivos de estilos (css), de esta manera, podemos
definir el tamao de cada regin que tenemos en nuestra pgina, de manera que
podamos acomodar cada una de ellas para rellenar de la mejor manera el espacio con
que contamos en pantalla, de acuerdo a una resolucin especfica.
Utilice el siguiente indicativo para definir y aplicar los tamaos a cada regin en sus
pginas:
1. En la cabecera html de la pgina indicada (la pgina que desea formatear), incluya elsiguiente cdigo:
.RegionScroll_tree
{
width:200px;
height:345px;
http://apex.oracle.com/pls/otn/f?p=56897:10http://apex.oracle.com/pls/otn/f?p=56897:10http://apex.oracle.com/pls/otn/f?p=56897:10http://apex.oracle.com/pls/otn/f?p=56897:107/22/2019 Qu es Oracle Apex
71/121
overflow:auto;
border:solid 0px;
}
.RegionScroll_report
{
width:665px;
height:320px;
overflow:auto;
border:solid 0px;
}
En el cdigo anterior estamos definiendo dos tipos de regin, una de tipo
reporte (RegionScroll_report) con un ancho de 665 pxeles y 320 pxeles de altura,que en caso de que el reporte se extienda ms all de estos bordes, agregar barras de
deslizamiento en donde sea necesario; laterales para subir y bajar por el reporte, o
inferior, para moverse a izquierda o derecha. Adems se le indica no agergar un borde a
la regin. La otra definicin es para utilizar en una regin de tipo rbol de 200 x 345
pxeles (RegionScroll_tree).
2. En el campo Cabecera de Regin de la regin debe agregar el siguiente cdigo:
3. Finalmente, en el campo Pie de pgina de Regin, de la regin indicada, agregue:
Y eso es todo. Pero para quienes no han comprendido como funciona, les explico cada
una de las lneas de definicin de estilo:
width:200px; Define el ancho de la regin en 200 pxeles
height:345px; Define la altura de la regin en 345 pxeles
overflow:auto; Indica que se debe agregar las barras de deslizamiento de maneraautomtica, en caso de que sean necesarias
border:solid
0px
Indica dibujar un borde slido a la regin de 0 pxeles (no se dibuja
un borde)
Pueden agregar otras caractersticas a la regin y modificar las anteriores de acuerdo a
sus deseos y necesidades (necesitan dar una revisin a algn tutorial de CSS.
Cmo agregar un logo a una aplicacin Apex?
7/22/2019 Qu es Oracle Apex
72/121
En muchas ocasiones, el uso de un logo que identifique a la empresa, es importante
como uno de los elementos de nuestras aplicaciones, por tal motivo, a continuacin les
dejo la manera de incluir estos logos en nuestras aplicaciones.
Solo siga los siguientes pasos:
1. Importe la imagen del logo a utilizar:1. Ingrese a la aplicacin donde desea incluir el logo.2. Haga clic en el botn Componentes compartidos.3. En la seccin de Archivos, haga clic en el enlaceImgenes.4. Haga clic en el botn Crear.5. Haga clic en el botn Examinardel campo Cargar Nueva Imagen6. Seleccione el archivo que va a utilizar como logotipo de la aplicacin.7. Haga clic en el botn Cargar.
Una vez cargada la imagen del logotipo, en la pgina de componentes compartidos,
haga clic en el enlace Definicin.
En la seccin Logotipo de la pgina mostrada, en el campoLogotipo escriba lo
siguiente:#WORKSPACE_IMAGES#logo.jpg, donde logo.jpg es el nombre de la imagen
cargada en el punto anterior.
Haga clic en el botn Aplicar Cambios.
Y eso es todo, ahora al ejecutar su aplicacin, le ser mostrada la imagen del logotipo
en la parte superior izquierda de cada una de las pginas de su aplicacin.
Cmo mostrar u ocultar campos en una formade mantenimiento?
Cuando creamos una pgina de mantenimiento utilizando el ayudante de Apex,
normalmente tenemos muy poco control sobre la funcionalidad de la misma. Muchas
veces queremos permitir el ingreso o no de ciertos campos en la tabla, dependiendo del
valor de algn campo, por ejemplo, cuando estamos hablando de procesar alguna
solicitud, si por ejemplo esta es rechazada quisiramos que se incluya el motivo por el
cual se rechaz, campo que no debera ser incluido si es aceptada.
Para ocultar o mostrar campos en una forma de mantenimiento, se debe utilizar
javascript; solo utilice el siguiente procedimiento:
En la cabecera de la pgina, se debe agregar el siguiente cdigo:
7/22/2019 Qu es Oracle Apex
73/121
function Show_On_Radio_Value(pThis, pThat, pValue){
var rv = html_RadioValue(pThis);
if (rv == pValue) {
$x_ShowItemRow(pThat);
} else {
$x_HideItemRow(pThat);
}
}
Luego, en el pie de pgina de la regin que contiene los campos a mostrar/ocultar, se
debe agregar lo siguiente:
Show_On_Radio_Value('P4_CAMPOX','P4_CAMPO1','S');
Show_On_Radio_Value('P4_CAMPOX','P4_CAMPO2','S');
donde:
P4_CAMPOX es el campo tipo radio que controla de acuerdo a su valor si los campos
semuestran o no.
P4_CAMPO1 y P4_CAMPO2 son los campos a mostrar u ocultar
S es el valor de P4_CAMPOX con el cual se muestran los campos anteriores.
En en campo P4_CAMPOX, en la propiedad Atributos de Elemento de Pantalla HTML,
se incluye lo siguiente:
onchange="Show_On_Radio_Value('P4_CAMPOX','P4_CAMPO1','S');
Show_On_Radio_Value('P4_CAMPOX','P4_CAMPO2','S');"
Los campos a mostrar/ocultar deben ser del tipo Opcional Label y en la seccin de
Plantillas, se debe modificar la plantilla de Etiqueta Opcional Label, en la
propiedad Definicin Antes de Etiqueta, se debe cambiar el cdigo por el siguiente:
en el cdigo
7/22/2019 Qu es Oracle Apex
74/121
Y eso es todo.
Espero que les sea de utilidad. Como siempre, pueden ver un ejemplo funcionando en la
siguiente direccin deOTN
Cmo manejar llaves primarias de ms de doscolumnas con Oracle Apex
Una de las limitantes con las que cuenta Oracle Application Express, es que no puede
manejar llaves primarias de ms de dos columnas, esto nos pone ante un dilema, sobre
todo cuando enfrentamos un proceso de traslado de sistemas o aplicaciones existentes,
por ejemplo, aplicaciones desarrolladas con Oracle Forms, las cuales contienen tablas
con llaves primarias compuestas por ms de dos columnas.
Ante esta disyuntiva, una de las alternativas que tenemos, es el rediseo de las tablas
de manera que:
1. Se cree una nueva columna de llave primaria, la cual poblemos por medio de unasecuencia.
2. Crear una llave nica para la tabla, formada por las columnas que antes conformabanla llave primaria.
El escenario anterior es el ideal, sin embargo, esto no siempre es posible, sino que ms
bien es lo que podremos hacer las menos de las veces.
Entonces, nos queda buscar otra solucin que nos permita conservar nuestras tablas tal
cual estn definidas. Luego de investigar por un buen rato en Internet, me encontr con
este cdigo escrito por David Njoku en la siguiente
direccin:http://dancingwithapex.blogspot.com/2008/12/tables-with-multiple-primary-
keys-or.html
Bsicamente, este cdigo selecciona las tablas con llaves primarias de ms de dos
columnas y crea una vista con una nueva columna que contiene las columnas de la llave
primaria concatenadas y las utiliza como nueva llave primaria. Tambin crea un
disparador que controla los procesos de inclusin, borrado y modificacin de registros
en las tablas.
Hay algunas consideraciones a tener en cuenta para poder utilizar este cdigo, en mi
caso, le agregu todos los | que no aparecen en el cdigo original, adems, le agregu
una condicin ms a la sentencia select de la primer sentencia for del
procedimiento, para que se ejecute para un esquema especfico.
http://apex.oracle.com/pls/otn/f?p=56897:11http://apex.oracle.com/pls/otn/f?p=56897:11http://apex.oracle.com/pls/otn/f?p=56897:11http://dancingwithapex.blogspot.com/2008/12/tables-with-multiple-primary-keys-or.htmlhttp://dancingwithapex.blogspot.com/2008/12/tables-with-multiple-primary-keys-or.htmlhttp://dancingwithapex.blogspot.com/2008/12/tables-with-multiple-primary-keys-or.htmlhttp://dancingwithapex.blogspot.com/2008/12/tables-with-multiple-primary-keys-or.htmlhttp://dancingwithapex.blogspot.com/2008/12/tables-with-multiple-primary-keys-or.htmlhttp://dancingwithapex.blogspot.com/2008/12/tables-with-multiple-primary-keys-or.htmlhttp://apex.oracle.com/pls/otn/f?p=56897:117/22/2019 Qu es Oracle Apex
75/121
Tambin debe tener en cuenta que si ejecuta el cdigo en un usuario especfico, este
usuario debe tener los privilegios necesarios, sobre los objetos utilizados.
Una vez ejecutado el cdigo, tendr una nueva vista por cada tabla que tenga llaves
primarias compuestas por ms de dos columnas. Estas vistas son las que tiene queutilizar para realizar las formas de mantenimiento y los reportes en Apex.
Puede obtener el cdigo para generar las vistas de las tablas desde el siguienteenlace.
Ahora pues, baje el cdigo, ejectelo y dispngase a desarrollar sus nuevas aplicaciones
con Oracle Apex.
Qu usuario est conectado a mi aplicacinApex?
En muchas ocaciones, en las tablas que utilizamos para almacenar datos, debemos
guardar el usuario que realiz una tarea especfica, tal como, incluir un nuevo registro,
o modificar alguno de los datos existentes.
Tradicionalmente, estamos acostumbrados a utilizar el valor de la variable Oracle USER,
sin embargo, si hacemos uso de esta variable en una aplicacin Apex, siempre vamos a
registrar el mismo valor, sin importar cual usuario estemos utilizando, este valor
esAPEX_PUBLIC_USER.
Ahora bien, cuando definimos estructuras y cdigo, no lo hacemos pensando solo en
utilizarlos dentro de Apex, podemos tambin querer usarlos por ejemplo en sqlplus,
Forms, funciones, procedimientos, paquetes, o cualquier otro lugar, por lo que tambin
podemos necesitar el valor de la variable USER.
Para definir una sentencia que siempre nos funcione y guarde el usuario correcto,
debemos utilizar el siguiente cdigo:
nvl(htmldb_application.g_user,user)
Con lo anterior, nos aseguramos de que si estamos realizando una tarea dentro de
Apex, vamos a registrar el valor de la variable global htmldb_application.g_user, y si
estamos utilizando el cdigo fuera de Apex, entonces registraremos en valor de lavariable USER.
http://www.ieskem.com/wordpress/wp-content/uploads/2009/06/crea-vista-multi-pk.txthttp://www.ieskem.com/wordpress/wp-content/uploads/2009/06/crea-vista-multi-pk.txthttp://www.ieskem.com/wordpress/wp-content/uploads/2009/06/crea-vista-multi-pk.txthttp://www.ieskem.com/wordpress/wp-content/uploads/2009/06/crea-vista-multi-pk.txt7/22/2019 Qu es Oracle Apex
76/121
Espero que este tip, les sea de utilidad.
Haciendo Oracle XE disponible desdeubicaciones remotas
Cuando se instala la base de datos Oracle XE, normalmente, solo est disponible en la
computadora en la que realizamos la instalacin. Sin embargo, no queremos una base
de datos para poder accesarla de manera local nicamente, es importante poderacceder a ella desde otras computadoras en nuestra red particular (privada), o bien,
desde Internet.
En esta oportunidad, les traigo dos mtodos para lograr esto. El primero de ellos se
puede ejecutar solamente despus de finalizar la instalacin de la base de datos Oracle
XE, y antes de realizar cualquier actualizacin de la herramienta Apex de Oracle.
Este primer procedimiento lo puede ejecutar nicamente en la computadora en la que
realiz la instalacin, de manera grfica y con la ayuda de un navegador, y es el que
detallo a continuacin:
1. Inicie la base de datos Oracle XE:1. En Windows, haga clic en el botn Inicio, luego en Base de Datos Oracle 10g
Express Edition, finalmente enIniciar base de datos.
2. En Linux, haga clic en el botn Aplicaciones, Base de Datos Oracle 10g ExpressEdition e Iniciar base de datos.
Vaya a la pgina inicial de la base de datos Oracle XE:
0. Windows: Inicio, Base de Datos Oracle 10g Express Edition, Ir a Pgina Inicialde Base de Datos.
1. Linux: Aplicaciones, Base de Datos Oracle 10g Express Edition, Ir a PginaInicial de Base de Datos.
En la pgina de Ingreso de la base de datos Oracle XE, ingrese el usuario SYSTEM,
la contrasea definida al momento de la instalacin y finalmente haga clic en el
botn Conectar.
Al ingresar a la pgina de la base de datos Oracle XE, haga clic en el
enlace Administracin
7/22/2019 Qu es Oracle Apex
77/121
7/22/2019 Qu es Oracle Apex
78/121
Las listas de valores que podemos definir y utilizar con Apex, son de dos tipos, estticas
y dinmicas.
Las listas de valores estticas, son utilizadas para definir una lista descriptiva para un
dominio especificado para una columna de tabla, como por ejemplo, para una columnaque nos indica si un registro est activo o no, y que puede tener dos valores especficos
(digamos S y N).
Las listas de valores dinmicas, son obtenidas a partir de una consulta SQL que se hace
a una tabla y normalmente se utilizan para definir o mostrar los valores de las llaves
forneas para una tabla especfica.
A continuacin se detalla el procedimiento para crear cada uno de estos tipos de listas
de valores.
1. Una vez ingresado a su aplicacin, haga clic en el botnComponentes Compartidos,tal y como se muestra en la siguiente imagen.
2. Al ingresar en la pgina siguiente, busque a la derecha el enlace Listas de Valoresy hagaclic sobre este. (Observe la imagen).
http://www.ieskem.com/wordpress/wp-content/uploads/2009/07/lovs1.jpg7/22/2019 Qu es Oracle Apex
79/121
3. A continuacin, haga clic en el botn Crear >.
4. Ahora, haga clic en el botn Siguiente >, para crear una nueva lista de valores.
http://www.ieskem.com/wordpress/wp-content/uploads/2009/07/lovs3.jpghttp://www.ieskem.com/wordpress/wp-content/uploads/2009/07/lovs2.jpg7/22/2019 Qu es Oracle Apex
80/121
5. Para c