Qué es Oracle Apex

Embed Size (px)

Citation preview

  • 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.sql
  • 7/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=32
  • 7/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=68
  • 7/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=56897
  • 7/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=56897
  • 7/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.zip
  • 7/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.jpg
  • 7/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.html
  • 7/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=56897
  • 7/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=19
  • 7/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=56897
  • 7/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:1
  • 7/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:10
  • 7/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:11
  • 7/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.txt
  • 7/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.jpg
  • 7/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.jpg
  • 7/22/2019 Qu es Oracle Apex

    80/121

    5. Para c