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

Definicin de Oracle Application Express (APEX)

Oracle Application Express (anteriormente llamado HTML DB) es una herramienta RAD (Rapid application development - Desarrollo rpido de aplicaciones) que se ejecuta con una base de datos Oracle. Permite desarrollar aplicaciones en entorno WEB de forma relativamente rpida. APEX puede instalarse en la versin 9.2 de Oracle Database y superiores. A partir de la versin de Oracle Database 11g viene preinstalado por defecto junto con la base de datos. Con Oracle Express Edition (XE) ya viene la versin 2.1 de APEX preinstalada, junto con la base de datos.

Instalacin previa de Oracle Database


En primer lugar y puesto que Oracle Application Express (APEX) necesita Oracle Database como motor de base de datos, tendremos que disponer de un servidor con Oracle Database. A continuacin os mostramos algunos enlaces que explican cmo instalar Oracle Database (varias versiones y varias plataformas Windows y Linux): Instalar Oracle Database 10g Express Edition Instalar Oracle Database 10g Express Edition XE en Linux Ubuntu 6.06 Instalar Oracle Database 10g en Windows XP Manual para instalar Oracle 9i en Windows con capturas de pantalla Si disponemos de Oracle XE no ser necesario instalar APEX pues ya viene preinstalado. Aunque viene con la versin 2.1 y en nuestro caso utilizaremos la versin 3.2.1 de APEX. Con lo cual explicaremos cmo instalarla para Oracle XE.

Instalacin de Oracle Application Express (APEX) 3.1.2 con Oracle Express Edition (XE)
Tras disponer de Oracle Database XE iniciaremos la descarga de Oracle Application Express (APEX), desde la URL de Oracle: http://www.oracle.com/technology/products/database/application_express/download.html Aceptaremos los trminos de licencia y pulsaremos en Download:

Deberemos ser usuarios registrados de Oracle, si no lo somos podemos registrarnos y descargarlo posteriormente. El fichero que se descargar es apex_3.1.2.zip, con un tamao de 88,4 MB. Descomprimiremos el fichero ZIP en la carpeta de instalacin de Oracle XE (por ejemplo), con el nombre de carpeta "apex":

A continuacin abriremos una ventana de Shell de comandos (MS-DOS). Para ello accederemos al botn "Inicio" - "Ejecutar" y escribiremos "cmd". Pulsaremos "Aceptar". En la ventana de shell que aparece accederemos a la carpeta donde hayamos copiado APEX, con el comando: cd oraclexe/apex (asumiendo que la carpeta de instalacin de Oracle Express Edition es "oraclexe" y la carpeta de los script de APEX es "apex"). A continuacin abriremos SQP*Plus para conectarnos a Oracle XE, con el comando: sqlplus /nolog Nos conectaremos a la base de datos por defecto, con el usuario que ha iniciado sesin en el sistema operativo, con el comando: connect / as sysdba Si queremos conectarnos a otra base de datos o con otro usuario ejecutaremos: connect fernando/alonso@ajpdsoft Donde: "fernando": nombre del usuario con el que nos conectaremos a Oracle. "alonso": contrasea del usuario con el que nos conectaremos a Oracle. "ajpdsoft" es el nombre SID de la base de datos Oracle. Ejecutaremos el script "apexins" con el comando: @apexins password SYSAUX SYSAUX TEMP /i/

Se iniciar la ejecucin de todas las consultas SQL necesarias para la instalacin de APEX (este proceso puede tardar varios minutos):

El final del resultado de la ejecucin del comando anterior para instalar Oracle Application Express (APEX): ..... Sesin modificada. ...Adjust flow owner to install owner 10 filas actualizadas. Confirmacin terminada. ...Adjust flow version 9 filas actualizadas. 1 fila actualizada. Confirmacin terminada. VII. L O A D E N G L I S H D I C T I O N A R Y Disparador modificado. ...10000 rows ...20000 rows ...30000 rows ...40000 rows ...50000 rows ...60000 rows ...70000 rows temporizacin para: English Dictionary Transcurrido: 00:05:06.85 -- Now beginning upgrade. This will take several minutes.-------- Ensuring template names are unique -------- Migrating metadata to new schema -------- Switching builder to new schema -------- Migrating SQL Workshop metadata -------- Recompile WWV_DBMS_SQL -------- Upgrading new schema. -------- Copying preferences to new schema. -------- Updating user account expiration. ------Upgrade completed successfully no errors encountered. -- Upgrade is complete ----------------------------------------temporizacin para: Upgrade Transcurrido: 00:00:59.32 ...End of install if runtime install ...create null.sql temporizacin para: Development Installation Transcurrido: 00:25:10.98 Desconectado de Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production

El siguiente script a ejecutar en SQL*Plus (tendremos que volver a conectarnos con "sqlplus /nolog") servir para crear la carpeta de imgenes que utilizar APEX: @apxldimg.sql c:/oraclexe ORACLE_HOME (asumiendo que Oracle Express Edition (XE) est instalado en "c:/oraclexe" y que existe una variable de entorno llamada ORACLE_HOME, creada por la instalacin de Oracle XE).

El resultado de la ejecucin del script anterior: SQL> @apxldimg.sql c:/oraclexe ORACLE_HOME Procedimiento PL/SQL terminado correctamente. antiguo 1: create directory APEX_IMAGES as '&1/apex/images' nuevo 1: createSQL> @apxldimg.sql c:/oraclexe ORACLE_HOME Procedimiento PL/SQL terminado correctamente. antiguo 1: create directory APEX_IMAGES as '&1/apex/images' nuevo 1: create directory APEX_IMAGES as 'c:/oraclexe/apex/images' Directorio creado. Procedimiento PL/SQL terminado correctamente. Procedimiento PL/SQL terminado correctamente. Confirmacin terminada. Temporizacin para: Load Images Transcurrido: 00:09:18.23 Directorio borrado. A continuacin ejecutaremos el script que permitir establecer la contrasea para el usuario administrador de APEX (admin): @apxxepwd.sql contrasea_usuario (donde "contrasea_usuario" ser la contrasea para el usuario ADMIN de APEX).

El resultado de la ejecucin del script anterior: SQL> @apxxepwd.sql contrasea_admin_APEX Sesin modificada. ...changing password for ADMIN Procedimiento PL/SQL terminado correctamente. Confirmacin terminada. Con estos pasos tendremos Oracle Application Express 3.2 instalado en Oracle XE. Para comprobar que funciona correctamente abriremos una ventana de un navegador de Internet, por ejemplo Mozilla Firefox y escribiremos la siguiente URL: http://127.0.0.1:8080/apex/apex_admin (para conectarnos a la administracin de APEX). Introduciremos el usuario "admin" y la contrasea introducida en el ltimo script ejecutado y pulsaremos "Conectar":

Tras iniciar sesin en la URL de administracin de APEX nos mostrar esta ventana:

Desde donde podremos: gestionar los servicios (traducciones, logs, estado de sesin, colas de correo, valores de entorno, componentes compartidos), gestionar los espacios de trabajo (solicitudes, informes, crear espacios de trabajo, asignar usuarios, etc.), gestionar aplicaciones (atributos, estado de creacin, esquemas de anlisis), controlar la activadad (visitas de pgina, informes de calendario, actividad del desarrollador, intentos de conexin, informes de entorno). A continuacin, como primer paso para crear nuestra aplicacin, crearemos un espacio de trabajo y le asignaremos un usuario. Para ello, desde la ventana de administracin de APEX, seleccionaremos "Gestionar Espacios de Trabajo", nos aparecern varias tareas, seleccionaremos "Crear Espacio de Trabajo":

Nos mostrar un asistente, en primer lugar indicaremos en "Nombre del Espacio de Trabajo" el nombre que queramos darle, en nuestro caso "contabilidad". Podremos poner una descripcin del Espacio de Trabajo (aunque no es obligatoria). Pulsaremos "Siguiente" para continuar:

Indicaremos el esquema de Oracle a utilizar, podemos utilizar uno existente o crear uno nuevo. En nuestro caso crearemos uno nuevo, llamado "contabilidad" con 100MB de cuota de espacio en disco:

Cada Espacio de Trabajo tendr un usuario administrador del mismo, en el siguiente paso indicaremos el nick de este usuario, la contrasea , nombre y apellidos y el email:

Por ltimo el asistente de creacin de Espacio de Trabajo de APEX nos mostrar un resumen con los datos seleccionados, si todo es correcto pulsaremos "Crear" para crear el Espacio de Trabajo:

Con el texto: Ha solicitado proporcionar un nuevo Espacio de Trabajo. Informacin de Espacio de Trabajo: Nombre contabilidad Identificador de Grupo de SeguridadSistema Asignado Descripcin ... Informacin del Administrador: Usuario ADMIN Correo Electrnicoaaa@ajpdsoft.com Informacin de Esquema: Volver a Usar Esquema Existente No Nombre de Esquema CONTABILIDAD Se crear un tablespace. FLOW_XXX Archivo de Datos para TablespaceC:/ORACLEXE/ORADATA/XE/FLOW_XXX.DBF El asistente de APEX nos mostrar un mensaje indicando el resultado de la operacin:

Con el texto: El espacio de trabajo se ha provisionado correctamente. El espacio de trabajo contabilidad proporcionado con el administrador ADMIN. El usuario de base de datos CONTABILIDAD se ha creado con el tablespace por defecto FLOW_2 con el archivo de datos C:/ORACLEXE/ORADATA/XE/FLOW_2.DBF A continuacin crearemos los usuarios que tendrn acceso como desarrolladores a este espacio de trabajo. Para ello, desde "Gestionar Espacios de Trabajo", pulsaremos en "Gestionar Desarrolladores y Usuarios":

Aparecer una lista con los usuarios actuales, entre los que se encuentra el usuario "ADMIN" creado anteriormente de forma automtica, que es el usuario administrador del espacio de trabajo "contabilidad". Pulsaremos en "Crear" para crear un nuevo usuario:

Introduciremos los datos del nuevo usuario (nombre, correo electrnico, esquema por defecto ("contabilidad"), para el Espacio de Trabajo deberemos seleccionarlo de la lista, pulsando el botn de la izquierda:

Seleccionaremos el espacio de trabajo para el usuario, en nuestro caso "contabilidad":

Seguiremos introduciendo el resto de datos (nombre, apellido, descripcin, contrasea). Indicaremos tambin si el usuario tendr permisos para ser usuario desarrollador (podr hacer y modificar aplicaciones) y si ser usuario administrador (tendr permisos de administracin del

espacio de trabajo seleccionado). Si en ambas opciones marcamos "No", el usuario slo tendr permisos para ejecutar las aplicaciones, no podr desarrollar aplicaciones ni modificar las existentes. Tambin indicaremos si el usuario estar bloqueado (no tendr acceso) y si deber cambiar la contrasea en el prximo inicio de sesin. Una vez rellenados todos los datos pulsaremos "Crear" para finalizar la creacin del nuevo usuario:

Si no ha habido errores, nos mostrar una lista donde aparecer el nuevo usuario creado ("alonso", con nombre "alonso" y apellido "fernando", para el espacio de trabajo "CONTABILIDAD"):

Crear aplicacin de facturacin en Oracle Application Express (APEX)


Tras crear el espacio de trabajo y los usuarios para ste, procederemos a iniciar sesin en APEX con el usuario desarrollador creado anteriormente ("alonso"). Para ello, desde la barra de direcciones del navegador web escribiremos la siguiente URL: htt://localohost:8080/apex (donde "localhost" ser la IP o nombre del equipo servidor de APEX y "8080" ser el puerto por defecto de APEX). Introduciremos el nombre del espacio de trabajo al que nos conectaremos "contabilidad", el usuario "alonso" y la contrasea. Pulsaremos "Conectar" para iniciar sesin en APEX:

Nos mostrar el panel de control para crear aplicaciones con Oracle Application Express (APEX). Desde esta ventana podremos crear una nueva aplicacin (Application Builder), ejecutar sentencias SQL, Gestionar Servicios, Gestionar Usuarios de Application Express, Controlar Actividad, etc. En nuestro caso, puesto que queremos crear una aplicacin pulsaremos en "Application Builder":

Cuando se crea un espacio de trabajo, por defecto se crea una aplicacin de ejemplo, llamada "Sample application". Pulsaremos "Crear" para iniciar el asistente que nos guiar paso a paso para crear la aplicacin:

Podremos crear una aplicacin obteniendo los datos de una hoja de cculo (como Microsoft Excel), podremos crear una aplicacin de demostracin (no servir como aplicacin real) o podremos crear una aplicacin normal. La definicin de Oracle Application Express para cada una de ellas: Crear Aplicacin: crear una aplicacin definiendo pginas, seleccionando un esquema de autenticacin y especificando una interfaz de usuario. Las pginas se pueden basar en tablas, consultas o consultas desplegables. A partir de una Hoja de Clculo: crear una aplicacin basada en datos de hoja de clculo. Cargar o pegar datos de hoja de clculo para crear una tabla. La aplicacin mostrar las capacidades de consulta, insercin, actualizacin y anlisis en la tabla recin creada. Aplicacin de Demostracin: instalar o desinstalar las aplicaciones de demostracin. Esta opcin se puede utilizar para obtener informacin sobre cmo crear aplicaciones. En nuestro caso seleccionaremos "Crear Aplicacin" y pulsaremos "Siguiente":

Introduciremos los siguientes datos: Nombre: ser utilizado para identificar la aplicacin por los desarrolladores. Por ejemplo "AjpdSoft Facturacin APEX". Aplicacin: valor entero (numrico) que identifica una aplicacn. El identificador de aplicacin debe ser nico en la base de datos. Mtodo de creacin: o Nueva: para introducir manualmente todas las pginas. o Basada en Modelo de Diseo de Aplicacin Existente: para reutilizar una definicin de aplicacin existente. Al utilizar una definicin de aplicacin existente, se puede ejecutar este asistente sin tener que volver a introducir valores de propiedad de la aplicacin. En nuestro caso seleccionaremos el mtodo de creacin "Nueva". Pulsaremos "Siguiente" para continuar:

En el siguiente paso deberemos crear, al menos, una pgina para la aplicacin, seleccionaremos el tipo de pgina a crear y pulsaremos "Agregar Pgina". Cuando hayamos agregado todas las pginas que deseemos pulsaremos "Siguiente": Tipo de pgina a crear: En Blanco: crea una pgina sin ninguna funcionalidad incorporada.

Informe: crea una pgina que contiene el resultado con formato de una consulta SQL. Se puede generar un informe basado en una tabla seleccionada, en una sentencia SELECT de SQL personalizada o en una funcin PL/SQL que devuelva una sentencia SELECT de SQL proporcionada. Pantalla: crea una pantalla para actualizar una nica fila (registro) de una tabla de base de datos. Pantalla Tabular: crea una pantalla para realizar operaciones de actualizacin, insercin y supresin en varias filas de una tabla de base de datos. Informe y Pantalla: crea una combinacin de pantalla e informe de dos pginas. En la primera pgina, los usuarios seleccionan una fila para actualizar. En la segunda, los usuarios pueden actualizar la tabla o vista seleccionada. Maestro/Detalle: crea una combinacin de pantalla e informe de dos pginas. En la primera pgina, los usuarios seleccionan una fila para actualizar. En la segunda, los usuarios pueden actualizar la tabla o vista seleccionada y sus detalles asociados. De momento, puesto que an no hemos creado las tablas de la aplicacin seleccionaremos "En blanco" y pulsaremos "Agregar pgina":

Pulsaremos "Siguiente" para continuar con la creacin de la aplicacin:

Seleccionaremos los niveles de separacin que deseemos para los mens de nuestra aplicacin APEX, en nuestro caso "Un Nivel de Separadores":

Los componentes compartidos son elementos de aplicacin comunes que se pueden mostrar o aplicar en varias pginas de una aplicacin. Para ahorrar tiempo o mantener la consistencia entre las aplicaciones, se pueden copiar los componentes compartidos desde una aplicacin existente. Si queremos utilizar componentes compartidos de otras aplicaciones marcaremos "S" en "Copiar componentes compartidos de otra aplicacin", nos mostrar estas opciones:

La aplicacin APEX ya existente de la que queremos copiar los componentes y los componentes que queramos copiar (temas de interfaz de usuario, listas de valores, entradas de barra de navegacin, esquemas de autorizacin, esquemas de autenticacin). En nuestro caso, puesto que queremos crear la aplicacin desde cero, seleccionaremos "No" en "Copiar componentes compartidos de otra aplicacin" y pulsaremos "Siguiente":

Seleccionaremos el esquema de autenticacin, el mtodo por el cual los usuarios podrn entrar en la apliaccin: Application Express: ser el propio APEX el que muestre una ventana de inicio de sesin con esquema, usuario y contrasea. Sin autenticacin: se podr acceder a la aplicacin directamente, sin necesidad de introducir usuario y contrasea. Cuenta de Base de Datos: la aplicacin leer el usuario y la contrasea de una tabla existente, definida por el usuario desarrollador o administrador. En nuestro caso utilizaremos el mtodo de autenticacin Application Express para nuestra aplicacin APEX. En esta ventana indicaremos tambin el Idioma de la aplicacin, las preferencias de idioma de usuario y el formato de la fecha:

Seleccionaremos el tema visual para nuestra aplicacin. Esto servir para establecer los colores y el estilo visual de la aplicacin APEX:

Por ltimo, antes de crear la apliacin, nos mostrar una ventana con el resumen de las opciones seleccionadas: Ha solicitado la creacin de una aplicacin con los siguientes atributos. Confirme las selecciones. Aplicacin 102 Nombre AjpdSoft Facturacin APEX Esquema de Anlisis CONTABILIDAD Idioma por Defecto es Separadores Un Nivel de Separadores Esquema de Autenticacin por Defecto Autenticacin de Application Express Tipo de Tema Estndar Tema de Interfaz de Usuario 10 Marcando la opcin "Guardar esta Definicin como Modelo de Diseo para Reutilizacin" podremos utilizar la configuracin de esta aplicacin para futuras aplicaciones APEX. Si todo es correcto pulsaremos "Crear" para generar nuestra primera aplicacin con Oracle Application Express:

El asistente nos mostrar la ventana de configuracin y desarrollo de la nueva aplicacin creada "AjpdSoft Facturacin APEX". Desde esta ventana podremos aadir pginas a la aplicacin, ejecutar la aplicacin, mantener los objetos de soporte, gestionar los componentes compartidos, exportar/importar aplicaciones, etc. Habr creado las pginas que le hayamos indicado y una pgina de conexin (inicio de sesin):

A continuacin crearemos las tablas que utilizaremos para la aplicacin: clientes, facturas y lneas de factura. Para ello pulsaremos en "Taller de SQL":

Pulsaremos en "Explorador de Objetos" para crear las tablas:

Pulsaremos el botn "Crear" y seleccionaremos "Tabla":

Introduciremos los campos que queramos que contenga la tabla "cliente" y el tipo de datos. Tambin podremos indicar si queremos que la columna pueda estar vaca o no. En nuestro caso crearemos, para la tabla "cliente": codigo (NUMBER): ser el campo de clave primaria (primary key), ser un nmero generado automticamente y nico para toda la tabla. Este campo ser el que utilicemos para enlazar la factura con el cliente al que corresponda. nombre (VARCHAR2). cif (VARCHAR2). telefono (VARCHAR2). Introduciremos en "Nombre de la Tabla" el nombre que Oracle le pondr a la tabla, pulsaremos "Siguiente" para continuar:

A continuacin indicaremos los datos para establecer la clave primaria (primary key) de la tabla. Seleccionaremos "Rellenado a partir de Nueva Secuencia", en la parte inferior aparecern los siguientes campos: Nombre de la Restriccin de Clave Primaria: ser el nombre interno que Oracle establecer para el ndice que genera, en nuestro caso "cliente_codigo_cp". Nombre de la Secuencia: puesto que queremos generar una clave primaria que sea un nmero que se autoincremente, Oracle crear una secuencia para almacenar el ltimo valor e ir autoincrementndolo. Indicaremos aqu el nombre para la secuencia, por ejemplo "CLIENTE_SEQ_CODIGO". Clave Primaria: seleccionaremos de todos los campos de la tabla el que contendr los valores que vaya generando la secuencia. El campo ser "codigo" y, obviamente, ha de ser de tipo NUMBER. Pulsaremos "Siguiente" para continuar:

En el siguiente paso de creacin de la tabla "cliente" para APEX podramos agregar las claves forneas (foreing keys) que quisiramos. Para el caso de la tabla "cliente" no habr ninguna, por lo que pulsaremos "Siguiente":

En este paso podremos indicar las restricciones que deseemos, por ejemplo que no haya dos clientes con el mismo "cif", para ello seleccionaremos "nico", nos aparecern los campos de la tabla, en la parte izquierda seleccionaremos el "cif" y pulsaremos la flecha hacia la derecha. De esta forma el asistente de creacin de nueva tabla para Oracle APEX crear un nuevo ndice para que el valor del campo "cif" de la tabla "cliente" no se repita. Iremos agregando todas las restricciones que deseemos pulsando el botn "Agregar":

Tambin podremos agregar restricciones de tipo lgico, por ejemplo impedir que el usuario introduzca un cif con menos de 6 caracteres, para ello seleccionaremos "Comprobar" y escribiremos el siguiente comando: LENGTH("cif") >=6 Pulsaremos "Agregar" para aadir esta restriccin. Una vez aadidas todas las restricciones pulsaremos "Terminar" para crear la tabla:

Por ltimo el asistente nos mostrar un resumen antes de crear la tabla. Pulsando en "SQL" podremos ver la consulta SQL que el asistente a generado para crear la tabla. Pulsaremos "Crear" para finalizar el proceso:

El SQL generado por el asistente para crear la tabla "cliente":

CREATE table "cliente" ( "codigo" NUMBER(6,0) NOT NULL, "nombre" VARCHAR2(100) NOT NULL, "cif" VARCHAR2(20) NOT NULL, "telefono" VARCHAR2(200),

"direccion" VARCHAR2(200), constraint "cliente_codigo_cp" primary key ("codigo") ) / CREATE sequence "CLIENTE_SEQ_CODIGO" / CREATE trigger "BI_cliente" before insert on "cliente" for each row begin if :NEW."codigo" is null then select "CLIENTE_SEQ_CODIGO".nextval into :NEW."codigo" from dual; end if; end; / alter table "cliente" add constraint CLIENTE_CIF unique ("cif") / alter table "cliente" add constraint CLIENTE_CK1 check (LENGTH("cif") >=6) /
El asistente nos dejar en la ventana de edicin de la tabla "cliente", desde donde podremos modificar la tabla (ndices, restricciones, permisos, valores por defecto, cambiar nombre, aadir columnas, vaciar, etc):

De la misma forma, crearemos la tabla "factura":

Indicaremos la clave primaria y la secuencia que la generar automticamente:

En este caso s crearemos una clave fornea (foreing key) que ser "codigocliente" y har referencia a la tabla "cliente" y a la columna "codigo" de sta:

Tras crear las claves forneas necesarias pulsaremos "Siguiente" para continuar con la creacin de la tabla "factura":

Agregaremos las restricciones que deseemos y pulsaremos "Terminar":

Pulsaremos "Crear" para crear la tabla "factura":

La secuencia SQL generada para crear la tabla "factura":

CREATE table "factura" ( "codigo" NUMBER(6,0) NOT NULL, "numero" VARCHAR2(30) NOT NULL, "codigocliente" NUMBER(6,0) NOT NULL, "fecha" DATE NOT NULL, "importetotal" NUMBER(8,2), "cobrada" VARCHAR2(1), "observacion" VARCHAR2(1000), "tipo" VARCHAR2(30), constraint "factura_codigo_cp" primary key ("codigo") ) / CREATE sequence "FACTURA_SEQ_CODIGO" / CREATE trigger "BI_factura" before insert on "factura" for each row begin if :NEW."codigo" is null then select "FACTURA_SEQ_CODIGO".nextval into :NEW."codigo" from dual; end if; end; / ALTER TABLE "factura" ADD CONSTRAINT "FACTURA_FK_CODIGOCLIENTE" FOREIGN KEY ("codigocliente") REFERENCES "cliente" ("codigo") / alter table "factura" add constraint FACTURA_UK1 unique ("numero") /
Por ltimo y de la misma forma, crearemos la tabla "facturalinea" con los campos:

Y la secuencia para la clave primaria:

En este caso habr una clave fornea para enlazar la tabla "facturalinea" con la tabla "factura" por el campo "codigofactura" y "codigo" respectivamente:

La consulta SQL para crear la tabla "facturalinea":

CREATE table "facturalinea" ( "codigo" NUMBER(6,0) NOT NULL, "codigofactura" NUMBER(6,0) NOT NULL, "concepto" VARCHAR2(200), "cantidad" NUMBER(8,2), "precio" NUMBER(8,2), "importe" NUMBER(8,2), constraint "facturalinea_codigo_cp" primary key ("codigo") ) / CREATE sequence "FACTURALINEA_SEQ_CODIGO" / CREATE trigger "BI_facturalinea" before insert on "facturalinea" for each row begin if :NEW."codigo" is null then select "FACTURALINEA_SEQ_CODIGO".nextval into :NEW."codigo" from dual; end if; end; / ALTER TABLE "facturalinea" ADD CONSTRAINT "FACTURALINEA_FK" FOREIGN KEY ("codigofactura") REFERENCES "factura" ("codigo")

Tras crear las tablas de la aplicacin crearemos las pginas para editar (aadir y modificar clientes, facturas, etc.). En primer lugar crearemos la pgina para el mantenimiento de los clientes, para ello accederemos a "Application Builder", seleccionaremos nuestra aplicacin "AjpdSoft Facturacin APEX" y pulsaremos en el botn "Crear pgina":

En tipo de pgina seleccionaremos "Pantalla":

Seleccionaremos "Pantalla Tabular":

En "Propietario de la Tabla/Vista" seleccionaremos el espacio de trabajo "CONTABILIDAD". En "Operaciones Permitidas" seleccionaremos "Actualizar, Insertar y Suprimir" (sern las acciones permitidas en la ventana web):

Seleccionaremos la tabla "cliente" creada anteriormente para la que crearemos la pgina APEX:

Seleccionaremos los campos que queramos que aparezcan en el formulario web APEX:

Nos mostrar la clave primaria de la tabla (la obtendr de forma automtica), si no la selecciona lo haremos nosotros buscando el campo en el desplegable de "Columna de Clave Primaria 1":

Seleccionaremos a continuacin "Secuencia existente" para que el asistente de creacin de nueva pgina Oracle Application Express (APEX) genere el trigger (disparador) que ejecutar la secuencia creada al crear la tabla "cliente" para generar el autoincremento de la clave primaria. En el desplegable de la parte inferior "Secuencia" seleccionaremos la secuenca creada anteriormente "CLIENTE_SEQ_CODIGO":

Indicaremos ahora las columnas para las que permitamos que el usuario pueda modificarlas. Las columnas seleccionadas sern modificables va web, el resto se mostrarn pero no sern modificables:

Indicaremos los atributos de la pgina (ttulo, cdigo, etc):

Indicaremos si queremos utilizar algn separador:

Indicaremos la etiqueta para los botones que se crearn (Cancelar, Ejecutar, Suprimir, Fila):

Indicaremos las opciones de bifurcacin: Despus de la ejecucin de la pgina: ir a la pgina "3" (la misma que estamos creando). Si se hace clic en el botn Cancelar: ir a la pgina 1 (inicial de la aplicacin).

El asistente de creacin de nueva pgina de APEX mostrar el resumen de las opciones seleccionadas. Si todo es correcto pulsaremos "Terminar":

Ha solicitado la creacin de una pgina de pantalla tabular con los siguientes atributos. Confirme las selecciones. Aplicacin Pgina Nombre de la Pgina Ttulo de la Regin Juego de Separadores Etiqueta de Separador Propietario de Tabla Nombre de la Tabla Columnas 102 102 Mantenimiento de clientes Pantalla Clientes

CONTABILIDAD cliente codigo nombre cif telefono direccion Columnas Actualizablesnombre cif telefono direccion Clave Primaria 1 codigo Clave Primaria 2 Ahora podremos ejecutar y probar la nueva pgina creada de nuestra aplicacin APEX. Para ello pulsaremos "Ejecutar pgina":

Este ser el aspecto inicial de la pgina "Mantenimiento de clientes" creada con el asistente de APEX. En la parte inferior aparecer un men slo si el usuario que ha iniciado sesin es un usuario administrador o desarrollador. Para el resto de usuarios no aparecer. Pulsando en "Agregar fila" mostrar una ventana web para insertar los datos del nuevo cliente:

Si aadimos los datos "AjpdSoft", "A222222", "999888777", "C/ Nombre calle" para los campos Nombre, Cif, Telfono y Direccin respectivamente y pulsamos "Agregar Fila" el cliente quedar guardado:

Desde esta ventana web podremos aadir, modificar y eliminar los clientes de nuestra base de datos:

Traduccin de Oracle Application Express APEX al espaol


Si tras instalar Oracle Application Express aparece en ingls y queremos traducirlo al espaol podemos seguir estos pasos: 1. Abrimos una ventana de shell de comandos (MS-DOS) y ejecutamos el siguiente comando: cd c:/oraclexe/apex/builder/es (asumiendo que Oracle XE est instalado en "c:/oraclexe" y asumiendo que el fichero descargado de Oracle APEX est en la carpeta "apex", dentro de la anterior). 2. Ejecutamos el siguiente comando (para abrir SQL*Plus): sqlplus /nolog 3. Nos conectamos a la base de datos de Oracle XE con el comando: connect / as sysdba; 4. Y por ltimo, para ejecutar el prodecimiento que traducir APEX al espaol: @load_es.sql

Algunas definiciones interesantes de APEX


Espacio de Trabajo: es un rea de trabajo compartida donde varios desarrolladores pueden crear aplicaciones. Cada espacio de trabajo tiene el privilegio para analizar uno o varios esquemas de base de datos.

Conclusiones
Como se puede observar en este manual, la filosofa de APEX es bastante sencilla e intuitiva, todo en entorno web. APEX es una herramienta muy pontente para realizar aplicaciones web sin mucho esfuerzo. Aqu hemos demostrado que para realizar una aplicacin web que permite consultar, modificar y aadir datos apenas hemos necesitado de conocimientos informticos avanzados. Y lo que es mejor, no hemos utilizado ni una sola lnea de cdigo.

Adems, tanto Oracle Database Express Edition como Oracle Application Express son productos gratuitos, por lo que se puede hacer este tipo de aplicaciones sin coste en licencias de software. Evidentemente y en teora Oracle XE no es para uso comercial.

ANEXO
Algunos errores habituales y su solucin:
Error al instalar APEX (Oracle Application Express): no aparecen las imgenes y, adems, al intentar iniciar sesin no muestra nada. Al cargar la pgina de inicio da un error el navegador de Internet de Script de Java. Este error suele ser debido a que no se ha establecido correctamente el prefijo de las imgenes en la instalacin de APEX, indicado en "/i/". Por ello, la URL de la imagen queda: http://127.0.0.1:8080/TEMPhtmldb/.... Cuando debera ser: http://127.0.0.1:8080/htmldb... Para solucionarlo sigue estos pasos: 1. Abre una ventana de MS-DOS, desde "Inicio" - "Ejecutar", escribe "cmd" y pulsa "Aceptar". 2. Accede al directorio de instalacin de APEX, con el comando MS-DOS: cd /oraclexe/apex/utilities (asumiendo que Oracle XE est instalado en "oraclexe" y APEX en "apex") 3. Ejecuta el siguiente comando (para abrir SQL*Plus): sqlplus /nolog 4. Para conectarnos a la base de datos Oracle XE, ejecutaremos el siguiente comando: connect / as sysdba; 5. Por ltimo ejecutaremos un script que incluye APEX para "reparar" este problema (ubicado en la carpeta utilities): @reset_image_prefix.sql Al ejecutar el script, nos preguntar el nuevo prefijo de las imgenes, pulsaremos INTRO para dejar el de defecto. El resultado de la ejecucin de los comandos anteriores en la ventana de MS-DOS: C:/>cd /oraclexe/apex/utilities C:/oraclexe/apex/utilities>sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on Mi Nov 26 02:24:25 2008 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> connect / as sysdba; Conectado. SQL> @reset_image_prefix.sql Enter the Application Express image prefix [/i/] ...Changing Application Express image prefix NEW --/i/ Procedimiento PL/SQL terminado correctamente. Procedimiento PL/SQL terminado correctamente. Sesin modificada. ...Recreate APEX global Procedimiento PL/SQL terminado correctamente. ...Update image prefix for all internal Application Express applications Procedimiento PL/SQL terminado correctamente. ...Purge all cached region and page entries Procedimiento PL/SQL terminado correctamente. ...Recompiling the Application Express schema Procedimiento PL/SQL terminado correctamente.

Image Prefix update complete Desconectado de Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product ion

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