You are on page 1of 38

CONTENIDO DEL CURSO

Dia 1...................................3
ORACLE FORMS................................................3 El entorno de Oracle Forms................................3 El Navegador de Objetos.....................................3
Disparadores..............................................................................................................4 Alertas........................................................................................................................4 Bibliotecas Incorporadas...........................................................................................4 Bloques......................................................................................................................5 Elementos..................................................................................................................5 Relaciones..................................................................................................................5 Vistas-Lienzo.............................................................................................................5 Editores......................................................................................................................5 LOV (Listas de Valores)............................................................................................6 Grupos de Objetos.....................................................................................................6 Parmetros.................................................................................................................6 Unidades de Programa...............................................................................................6 Clases de Propiedad...................................................................................................6 Grupos de Registros...................................................................................................6 Atributos Visuales.....................................................................................................7 Ventanas....................................................................................................................7 Hojas de propiedades de objetos................................................................................7

El editor Layout Editor........................................8 Personalizar el entorno Forms............................9 Creacin de nuevos mdulos de formularios...13 Construir un formulario sencillo por defecto. .13

Dia 2.................................19
Usar texto fijo y grficos para realzar las aplicaciones de formularios...............................19 Personalizar impresos con propiedades...........21

Dia 3.................................23
Herramientas de Desarrollo Oracle Forms 11/11/10

Implementar disparadores y unidades de programa.............................................................23

Dia 4.................................26
Usar grupos de registros y listas de valores para la validacin de los datos....................................26 Usar relaciones para enlazar bloques separados en un formulario.................................................32 Eventos de ratn, temporizadores y otras........34 cuestiones avanzadas..........................................34 Trabajar con el ratn.........................................34 Trabajar con alertas...........................................35

Dia 5.................................36
Consideraciones para aplicaciones de formularios mltiples.........................................36 Bibliotecas, clases de objetos y atributos visuales ..............................................................................37 Consideraciones de calidad para Oracle Forms ..............................................................................37

Herramientas de Desarrollo Oracle Forms 11/11/10

Dia 1
ORACLE FORMS
Oracle Forms 6.0 es una herramienta de desarrollo que puede ser usada para crear aplicaciones para introducir, acceder a, modificar o eliminar datos desde una base de datos Oracle en un entorno basado en formularios en lnea. Forms ha proporcionado muchos objetos para desarrollar un mdulo de aplicacin efectivo. Acoplado con el concepto de extensibilidad de usuario, Forms puede ser usado para servir virtualmente para cualquier necesidad en lnea en un entorno de bases de datos de Oracle. Este captulo explora muchos de los conceptos relacionados con el desarrollo de Oracle Forms. Los ejemplos comienzan con unos primeros pasos iniciales y agregan gradualmente informacin suficiente de forma que el lector puede seguir sus propios pasos. Con cada avance en la complejidad, las aplicaciones se van haciendo ms potentes. Al final, seremos capaces de hurgar dentro de conceptos avanzados y quizs agregar innovaciones propias.

El entorno de Oracle Forms


Oracle Forms 6.0 opera en un entorno de interfaz grfica de usuario como Windows 3.x de Microsoft. Las herramientas primarias usadas para desarrollar formularios personalizados son el Navegador de Objetos, el Layout Editor (Editor de Diseo) y las hojas de propiedades de objetos. Adems de los formularios en lnea, Oracle Forms 6.0 es utilizado tambin para crear y mantener mens de aplicaciones y bibliotecas de unidades de programas.

El Navegador de Objetos
El Navegador de objetos (que se muestra en la figura 1) presenta todos los elementos que se combinan para crear un mdulo de aplicacin de Oracle Forms. Se pueden manipular esos elementos (u objetos) usando los botones en forma de iconos y las opciones de los mens. Dentro del Navegador de Objetos, los componentes de la aplicacin se presentan en formato de esquema jerrquico indicando la organizacin de los elementos individuales.

Herramientas de Desarrollo Oracle Forms 11/11/10

Figura 1. El Navegador de Objetos de Oracle Forms y las hojas de propiedades.

Disparadores
Los disparadores son funciones PL/SQL que son ejecutadas basadas en alguna actividad o condicin especficas del formulario. Estas actividades, llamadas eventos, son la base de la caracterstica de la extensibilidad de usuario de Oracle Forms. Aunque muchos de los eventos disparadores realizan una funcin particular por defecto, se puede escribir un disparador para desactivar, modificar o mejorar las capacidades de procesamiento por defecto asociadas con el evento. Se pueden definir los disparadores como el nivel de campo de formulario, bloque, registro o individual. Adems, un disparador puede hacer que se dispare otro disparador, as como ejecutar, otra unidad del programa relacionado.

Alertas
Las alertas proporcionan informacin adicional o bien otros mensajes que requieran respuesta o acuse de recibo desde el usuario. Una alerta puede contener de uno a tres botones que se pueden usar para definir la accin que el usuario desea que se ejecute basada en la condicin.

Bibliotecas Incorporadas
Las bibliotecas son mdulos especiales de Oracle Forms que pueden ser definidos para contener procedimientos y funciones reutilizables. Vinculando bibliotecas de unidades de programa a un formulario, se puede mantener el cdigo del programa en un nico archivo en luegar de en cada
Herramientas de Desarrollo Oracle Forms 11/11/10

mdulo de formulario individual. Las bibliotecas ayudan a asegurar la calidad de una aplicacin comprobando que todos los mdulos siguen las mismas reglas del tema.

Bloques
Un bloque de un formulario corresponde generalmente a una entidad individual (table, vista o instantnea) de la base de datos. Adicionalmente, se pueden crear bloques que no corresponden a ninguna tabla. Esos bloques, llamados bloques de tabla no base, contienen usualmente informacin de control genrica, tal como criterios de consulta, contadores, indicadores condicionales y otra informacin que puede estar relacionada con ms de un registro o actividad. (Los bloques que se relacionan con una entidad son denominados bloques de tabla base).

Elementos
Los elementos (que no se muestran en la figura 1) son agrupados en el Navegador de Objetos dentro de sus bloques respectivos. Un elemento corresponde a un elemento de datos o un campo nico. Esos elementos pueden contener columnas de base de datos o pueden ser usados como contenedores para otros datos relacionados.

Relaciones
Las relaciones (que no se muestran en la figura 1) son definidas de acuerdo con la forma en que se relacionan entre s los bloques independientes de un formulario. Generalmente en un formulario de varios bloques, un bloque es definido como tabla primaria o maestra y el otro bloque muestra informacin de detalle asociada con el registro actual del bloque maestro. Un ejemplo de formulario de detalle maestro es una aplicacin de registro de empleados en la que el bloque maestro muestra el Departamento y el bloque del detalle muestra Las personas que pertenecen a ese departamento.

Vistas-Lienzo
Un lienzo es la estructura virtual en la que se disponen los objetos del formulario. Para la mayor parte, los lienzos son definidos como lienzos de contenido o apilados. Un lienzo de contenido se muestra en su totalidad dentro de la ventana del formulario. Siempre que se muestra por primera vez un lienzo de contenido, todos los dems lienzos son ocultados en la ventana. Un lienzo apilado, por otra parte, se muestra por encima de todos los lienzos existentes dentro de la ventana del formulario. Adems de esos dos tipos de lienzos, se ha incluido en Forms un tercer tipo de lienzo. Una barra de botones aparece en la parte superior de todos los lienzos que se muestran y es utilizada usualmente para contener botones en forma de iconos para los comandos del usuario. Existe un lienzo nulo especial para contener los objetos que se muestran.

Editores
Un editor es una ventana para visualizar y mantener campos de datos grandes. Estos campos estn algunas veces incluidos para la entrada de comentarios del usuario o para otra informacin que no quepa normalmente en un elemento que se muestre.

Herramientas de Desarrollo Oracle Forms 11/11/10

LOV (Listas de Valores)


Los LOV (list of values, listas de valores) proporcionan al usuario una lista de entradas vlidas para un campo. Una lista de valores presenta datos contenidos dentro de un objeto llamados un grupo de registros mediante los cuales el usuario selecciona un valor desde la lista para poblar un elemento del formulario. Tambin se puede utilizar la lista de valores para validar la entrada del usuario con el fin de garantizar que se ha introducido un valor vlido.

Grupos de Objetos
Un grupo de objetos es un mecanismo especial para empaquetar varios objetos de formulario dentro de un contenedor, que pueda ser usado despus en otros formularios con un mnimo de programacin. Una vez que se ha creado un grupo de objetos en un formulario, se puede copiar cualquiera de los objetos del formulario dentro del grupo de objetos. Por ejemplo, un formulario puede contener un paquete secundario que muestre una plantilla de un horario. Se pueden copiar los componentes de este mdulo secundario al grupo de objetos y otros formularios pueden hacer referencia al grupo de objetos, que se comporta como si fuera parte del mismo formulario segundo. Esta es otra caracterstica de Forms que promueva el planteamiento orientado a objetos a la vez que garantiza la calidad por medio de la consistencia.

Parmetros
Podemos definir parmetros para un formulario para proporcionar un entrada de inicio para el formulario. Generalmente, los parmetros pasan valores desde un formulario hasta otro formulario recin llamado en una aplicacin de varios formularios. Antes de las herramientas de Developer/2000, la nica forma de pasar valores entre formularios era por medio del uso de variables globales que tendan a consumir la memoria disponible. Aunque las variables globales estn an disponibles, se deben usar parmetros en los casos en que los datos sean especficos para los formularios individuales en lugar de ser universales para todos los formularios de una aplicacin.

Unidades de Programa
Las unidades de programa son procedimientos y funciones PL/SQL que pueden llamar los disparadores del formulario. Una unidad de programa es equivalente al concepto de programacin de tercera generacin de las subrutinas. Un candidato tpico para su definicin es un segmento de cdigo de programa usado por ms de un disparador. Se deben usar tambin unidades de programa para modularizar segmentos de cdigo grandes.

Clases de Propiedad
Una clase de propiedad define las propiedades de una clase de objetos. En los casos en los que muchos objetos de formulario tienen propiedades idnticas, una clase de propiedad beneficia al desarrollador garantizando que los objetos son consistentes. Adicionalmente, se pueden usar las clases de propiedad para hacer cumplir los estndares y para acelerar el tiempo de desarrollo de un mdulo de formulario.

Grupos de Registros

Herramientas de Desarrollo Oracle Forms 11/11/10

Se puede considerar un grupo de registros como una tabla virtual en la memoria. Los grupos de registros son conjuntos de datos estructurados que se pueden usar para pasar datos entre mdulos de aplicaciones o para poblar listas de valores o de otros elementos de listas.

Atributos Visuales
Un atributo visual de un objeto define el color, la fuente y las caractersticas de estilo de un elemento. Aunque se puede ver cada uno de los valores individualmente para cada objeto, el atributo visual proporciona un mecanismo para definir una combinacin vlida de caractersticas visuales para un formulario. Una aplicacin de alta calidad no debe usar muchos atributos visuales diferentes dentro de los elementos. Adhirindose a un conjunto de atributos visuales, los formularios pueden usar una caracterstica particular de un elemento para expresar un sentido especfico.

Ventanas
Una ventana es el marco dentro del cual aparece un formulario sobre la pantalla de un usuario. Cada lienzo es asignado a una ventana especfica en el formulario y varios lienzos pueden ser asignados a la misma ventana. Un nico formulario puede contener varias ventanas o consistir en slo una ventana.

Hojas de propiedades de objetos


Las caractersticas de cada elemento de un formulario son definidas por sus diversas propiedades. Existe una hoja de propiedades sensible al contexto para cada componente, basada en el tipo de objeto que es definido. Las propiedades estn agrupadas lgicamente dentro de la hoja de propiedades y cada tipo de objeto tiene una hoja de propiedades diferente. En este captulo se describen ms adelante varias de las propiedades ms importantes. La barra de desplazamiento en el lado derecho de la hoja de propiedades permite navegar por la hoja de propiedades y los botones en forma de iconos de la parte superior controlan las actividades de la hoja. Los dos primeros botones copian y pegan todas las propiedades entre la hoja de propiedades y el portapapeles. Los dos botones siguientes agregan y eliminan propiedades personalizadas de la hoja de propiedades. El botn siguiente crea una nueva clase de propiedad basada en las propiedades del objeto. El botn Inherit (Heredar) hace que la propiedad seleccionada en la actualidad herede desde la clase de propiedad del objeto. Si no se define ninguna clase para el objeto, el botn Inherit hace que la propiedad sea restaurada al valor por defecto de Forms 6 para la propiedad. El siguiente botn se usa cuando se selecciona un objeto desde el Navegador de Objetos. El botn cambia entre mostrar la unin de todas las propiedades asociados con todos los objetos seleccionados o slo las propiedades asociadas con todos los objetos (interseccin). Cuando se seleccionan varios objetos en el Navegador de Objetos, un sencillo cambio a una propiedad en la hoja de propiedades es propagado a todos los objetos. Se usa el ltimo botn para congelar (freeze) o descongelar (unfreeze)el modo de sincronizacin de la hoja de propiedades . Cuando la ventana est descongelada (por defecto), siempre que se
Herramientas de Desarrollo Oracle Forms 11/11/10

selecciona un objeto nuevo, la hoja de propiedades est sincronizada para mostrar el nuevo objeto. Sin embargo, si est congelada no se produce la sincronizacin hasta que se descongele. Truco: Se pueden maximizar las diversas ventanas de Oracle Forms dentro de la ventana del diseador. Pero, en la prctica, usando varias ventanas simultneamente (vase figura 1) se puede acelerar la fase de programacin del mdulo. Conforme nos movemos por el Navegador de Objetos, se muestra la hoja de propiedades adecuada y, al seleccionar varios elementos del Navegador, veremos las propiedades comunes. Esta es una cuestin de preferencia personal y podemos encontrar que tiene varias ventanas es demasiado confuso. Sin embargo, recomendamos que se pruebe antes de decidir qu es lo que se prefiere mejor.

El editor Layout Editor


El Layout Editor (Editor de Diseo), vase figura 2, presenta el lienzo sobre el que se disponen los objetos del formulario. Esta herramienta es manejada poro medio del uso de botones en forma de iconos y de opciones de mens. Se usan los botones situados en el lado izquierdo de la ventana del Layout Editor para crear y manipular los objetos de la disposicin del formulario. La tabla 1 describe estos botones (de arrriba abajo y de izquierda a derecha).

Botn
Seleccionar Ampliar

Uso
Selecciona objetos en el lienzo. Hace zoom acercando/alejando sobre el lienzo. Se hace clic en el lienzo para acercar. Se hace clic manteniendo pulsada la tecla de maysculas para alejar. El nivel de ampliacin actual se muestra en la zona inferior izquierda de la ventana del Layout Editor. Dibuja un rectngulo en el lienzo. Dibuja un crculo o una elipse. Dibuja un objeto de varios lados. Dibuja un rectngulo con las esquinas redondeadas. Agrega texto fijo al lienzo. Crea un elemento de casilla de verificacin. Crea un campo de elemento de texto. Crea un elemento de Oracle Graphics. Crea un elemento de control VBX Crea un elemento de lista desplegable. Gira el elemento seleccionado. Remodela el elemento seleccionado, Dibuja una lnea. Dibuja una lnea curva. Dibuja una serie de lneas conectadas. Dibuja en el modo de mano alzada. Crea un elemento de botn para pulsar. Crea un elemento de botn de radio. Vincula un elemento de imagen al lienzo Crea un elemento de contenedor de OLE. Crea un elemento slo para fines de visualizacin.

Rectngulo Elipse Polgono Rectngulo Redondeado Texto Check Box Text Item Chart Item VBX Control List Item Rotar Remodelar Lnea Arco Lnea segmentada Mano Alzada Push Button Radio Button Image Item OLE2 Object Display Item

Tabla 1 Botones del Layout Editor

Los cuadros de lista de la parte superior del Layout Editor permiten al usuario navegar entre los diversos lienzos (Canvas) y bloques del formulario, mientras que los botones en forma de iconos se usan para el control de los comandos dentro del editor. Estos botones son, en orden:
Herramientas de Desarrollo Oracle Forms 11/11/10

Open Save Run Cut Copy Paste Copy Properties Paste Propierties

Abre un mdulo existente. Guarda el mdulo actual. Ejecuta el mdulo actual. Corta los objetos seleccionados. Copia los objetos seleccionados. Pega los objetos desde el Portapapeles. Copia las propiedades en el Portapapeles. Pega las propiedades desde el Portapapeles.

Figura 2

El Layout Editor de Oracle Forms

Personalizar el entorno Forms


Herramientas de Desarrollo Oracle Forms 11/11/10

Oracle Forms 6 permite al programador modificar el entorno de desarrollo seleccionando el men Tools, Options (Herramientas, Opciones). Se usa el cuadro de dilogo Designer Options (vase figura 3) para ver el comportamiento del Oracle Forms Designer.

Figura 3.1 El cuadro de dilogo de Preferencias

Figura 3.2 El cuadro de dilogo de Preferencias (Access)

Herramientas de Desarrollo Oracle Forms 11/11/10

10

Figura 3.3 El cuadro de dilogo de Preferencias (Wizards) Las cuatro casillas de verificacin establecen el modo operativo de Oracle Forms Designer. Si est activada, la primera casilla (Guardar antes de generar) hace que el mdulo actual sea guardado automticamente siempre que se genere un formulario y la segunda casilla (Generar antes de ejecutar) hace que el formulario sea generado (compilado) siempre que sea ejecutado desde el diseador. (El efecto neto de tener las dos casillas activadas es que todos los formularios son guardados y generados haciendo clic en el botn Run (Ejecutar). Nota: Muchas de las versiones anteriores de Oracle Forms eran famosas por producir fallos de proteccin general, lo que daba como resultado prdida de trabajo. Se ha hecho una prctica comn usar esas casillas de verificacin universalmente en la prctica. Desafortunadamente, a menos que se guarde una copia de seguridad de un mdulo, las modificaciones pueden destruir las versiones anteriores de un formulario si se usan esas opciones.

Por defecto, Oracle Forms muestra una sugerencia en la zona inferior izquierda de la pantalla basada en el contexto del diseador. Seleccionando la casilla siguiente, Suppress Hints (Suprimir Sugerencias), se suprime la aparicin de sugerencias. Si se activa la opcin siguiente, Run Modules Asynchronously (Ejecutar mdulos en forma asncrona) el Forms Designer permite ejecutar un mdulo de formulario y trabajar simultneamente en el diseador. De otro forma, es necesario salir del formulario en tiempo de ejecucin antes de usar posteriormente el diseador. La ltima casilla de verificacin define el editor que debe ser usado en el diseador. La ltima casilla de verificacin define el editor que debe ser usado en el diseador. Activando esta casilla, hace que el diseador use un editor del sistema operativo en lugar del de formularios por defecto. (En entornos de Windows 3.x o de Windows 95/NT, el editor de formularios por defecto opera de forma similar a notepad.exe) La paleta de colores determina los colores que deben ser usados en un formulario. Se recomienda que se use la paleta de 16 colores de Oracle, como se ve en la figura 3 para garantizar la capacidad de correspondencia de colores entre los objetos del formulario. Se
Herramientas de Desarrollo Oracle Forms 11/11/10

11

utiliza el Modo de la paleta de colores para definir la forma en que deben ser manejadas las paletas de colores en Oracle Forms. Las opciones del cuadro de lista son: Editable, Read OnlyShared (Slo lectura-compartido) y Read Only-Private (Slo lectura-privado). Editable significa que la paleta de color del formulario activo reemplaza a la paleta de color del sistema, haciendo que el formulario activo sea mostrado con exactitud mientras que la apariencia de todos los formularios inactivos puede no ser exacta, Read Only-Shared significa que cada paleta de colores del formulario es agregada a la paleta del sistema hasta que el espacio reservado para la paleta quede lleno. Si se abre cualquier formulario que use una paleta de colores diferente, puede que no aparezca exacta. Finalmente, Read Only-Private opera lo mismo que el modo compartido excepto que Oracle Forms garantiza que la paleta usada es siempre vlida para el formulario activo y que cualquier formulario inactivo puede no aparecer correctamente debido a que sus paletas de colores han sido borradas para dejar espacio para el nuevo formulario. Las opciones Module Access (Acceso al mdulo) definen si los mdulos deben ser abiertos desde la base de datos (Database) o desde el sistema de archivos (File), o desde ambos (File/Database) o desde el sistema de ser incluidos en la seleccin. La ltima opcin define la impresora que debe ser utilizada para cualquier necesidad de impresin del Forms Designer. Se usa la segunda pestaa de esta ventana (vase figura 4) para definir las opciones a usar cuando se ejecuta un mdulo desde el Oracle Forms Designer. La primera opcin, Buffer Records in File (Registros de bferes en el archivo) , hace que Forms registre en un bfer en la memoria solamente el nmero mnimo de registros (el nmero de registros que se muestran ms tres). Todas las filas adicionales recuperadas son almacenadas en un archivo temporal. La siguiente opcin hace que el formulario sea ejecutado en un modo de depuracin. Esta opcin permite insertar instrucciones de interrupcin en los segmentos PL/SQL para observar los valores de los elementos del formulario y para seguir la evolucin del cdigo del programa. Las cuatro opciones siguientes estn relacionadas con la puesta a punto del rendimiento de Oracle Forms. Array Processing (Procesamiento matricial) permite que el formulario devuelva varias filas desde la base de datos en un nico ciclo bsqueda en lugar de una cada vez puede tener impacto en el uso de la memoria en el formulario. Para mantener compatibilidad hacia atrs, Oracle Forms permite usar en el formulario disparadores del estilo de la version 2 (pasos de procesamiento independientes). La opcin Optimize Transaction Mode Processing (Optimizar el procesamiento del modo de transaccin) hace que estos disparadores sean procesados utilizando una tcnica de optimizacin para aprovechar las capacidades ms modernas que estn incorporadas en PL/SQL. Optimize Transaction Mode disparadores de confirmacin) para optimizar el uso del cursor en forma que el cursor pueda ser compartido dentro del formulario. La opcin Statistics (Estadsticas) devuelve las estadsticas relativas a la utilizacin de cursores y de otros recursos cuando se ejecuta el formulario. El otro efecto de esta opcin es que es generada una sesin de SQL*Trace, que se puede analizar con TKPROF o con una herramienta de anlisis del rendimiento para que sirva de ayuda en la puesta a punto.

Herramientas de Desarrollo Oracle Forms 11/11/10

12

Figura 4. Opciones del tiempo de ejecucin de Oracle Forms. La siguiente opcin, Display Block Menu, muestra el men del bloque de un formulario, en lugar del formulario en s, tan pronto como se inicial el formulario. Este men permite navegar directamente a un bloque particular en lugar de al inicial por defecto. Query Only Mode (Modo de solo consulta) desactiva todas las inserciones, eliminaciones o actualizaciones de un formulario. Finalmente, Quiet Mode (Modo silencioso) desconecta el pitido audible que se produce siempre que se genera un mensaje en el formulario.

Creacin de nuevos mdulos de formularios


Se puede crear un formulario seleccionando File, New, Form (Archivo, Nuevo, Formulario) o bien usando la combinacin de teclas de acceso rpido (Control+Y). El nuevo formulario es agregado al Navegador de Objetos. Adicionalmente, siempre que se inicia Oracle Forms Designer, se crea automticamente un formulario nuevo vaco. Similarmente, se pueden crear desde el men bibliotecas de unidades de programas (File, New, Library) (Control+I) y mdulos de men (File, New, Menu) (Control+E). A su vez, se pueden guardar esos mdulos o bien ejecutndolos (con las opciones apropiadas seleccionadas) o seleccionando explcitamente File, Save (Archivo, Guardar) o usando el botn en forma de icono de las ventanas del diseador.

Construir un formulario sencillo por defecto


La caracterstica de Oracle Forms de tomar los valores por defecto de forma inteligente permite crear un formulario bsico en pocos minutos. Como ejemplo, podemos crear el formulario de Empleados de la figura 5 sin escribir una sola lnea de cdigo del programa.

Herramientas de Desarrollo Oracle Forms 11/11/10

13

Figura 5. Formulario de Empleados. Para construir este formulario, se crea primero un formulario nuevo en el Navegador de Objetos (debe iniciarse la sesin en la base de datos si no se ha hecho antes) y se selecciona el grupo Bloques dentro del nuevo formulario. Aparecer el cuadro de dilogo de definicin de bloque de la Figura 6. Este formulario est basado en la tabla EMP;, por consiguiente, se introduce en el campo de la tabla base y se navega hasta el campo siguiente usando el botn Select situado a la derecha del campo del nombre de la tabla. Al pulsar ese botn se presenta un cuadro de dilogo que se puede utilizar para obtener una lista de todas las tablas disponibles en la base de datos.) Obsrvese que por defecto cambia el nombre del bloque para coincidir con el nombre de la tabla, aunque el nombre puede ser cualquier valor que se desee. Pulsando de nuevo la techa Tab para pasar al campo Canvas (Lienzo) que por defecto tiene un valor como CANVAS1.

Herramientas de Desarrollo Oracle Forms 11/11/10

14

Figura 6.1 Data Block Wizard (Seleccin de tabla y columnas)

Figura 6.2 Data Block Wizard (Seleccin del Canvas)

Herramientas de Desarrollo Oracle Forms 11/11/10

15

Figura 6.3 Data Block Wizard (Seleccin del bloque y sus elementos)

Figura 6.4 Data Block Wizard (Etiquetas y tamao de los elementos)

Herramientas de Desarrollo Oracle Forms 11/11/10

16

Figura 6.5 Data Block Wizard (Seleccin del Estilo del bloque)

Figura 6.6 Data Block Wizard (Seleccin del Ttulo y cantidad de registros) Una vez que se haya completado lo anterior, se hace clic en la pestaa Items para mostrar el cuadro de dilogo de definicin de elemento que se muestra en las Figura 6.3 y 6.4. Para seleccionar las columnas de esa tabla se hace clic en el botn Select Columns y se presentar una lista de todas las columnas de la tabla. Un signo ms delante de una columna indica que la
Herramientas de Desarrollo Oracle Forms 11/11/10

17

columna es utilizada en el formulario. Para excluir una columna, se hace doble clic en el nombre de la columna en el cuadro de la lista. Para cada columna de la lista, se modifica la etiqueta en el cuadro Label y el ancho de la columna en el cuadro With. El tipo de elemento se modifica en el cuadro de lista Type. Despus de completar este cuadro de dilogo, se hace clic en OK para terminar de construir el formulario. Para comprobar el formulario se hace clic en el icono Run (Ejecutar) o bien se selecciona File, Run (Archivo, Ejecutar) en el men. Obsrvese que este captulo supone que se han seleccionado las opciones del diseador Save Before Generate (Guardar antes de generar) y Generate Before Run (Generar antes de ejecutar). En caso contrario, deben realizarse esos pasos manualmente antes de ejecutar el formulario. Aparecer el formulario, tal como se ha mostrado antes en la Figura 5, con todos los cuadros de datos vacos. Para presentar una lista de los datos existentes, se selecciona Consultar, Ejecutar. Se pueden introducir datos en los campos y despus guardarlos usando Accin, Salvar. Para cerrar el formulario se selecciona Accin, Salir.

Herramientas de Desarrollo Oracle Forms 11/11/10

18

Dia 2
Usar texto fijo y grficos para realzar las aplicaciones de formularios.
El ejemplo anterior no proporciona el aspecto y acabado tridimensional que es comn en la mayor parte del software de Windows. Utilizando algunos de los objetos grficos y efectos visuales de Oracle Forms, se puede transformar en una aplicacin ms agradable, como se muestra en la figura 9

Figura 9. Utilizacin de objetos fijos para realzar la aplicacin Para modificar este formulario, lo abrimos el Layout Editor y seleccionamos el ttulo del bloque y lo eliminamos con la tecla Supr. Hacemos lo mismo con el cuadro que rodea la cuadrcula de datos. Ahora, usando la herramienta de seleccin (pulsando sobre el icono en forma de flecha) se seleccionan todas las cabeceras de las columnas de la pantalla. Para modificar la fuente, se selecciona, Format, Fuente para mostrar el cuadro de dilogo de la figura 10. En este caso seleccionamos la Fuente, Arial; Estilo de Fuente, Negrita cursiva y tamao 9. En el cuadro Ejemplo se ve una muestra de la seleccin. Al terminar se hace clic en Aceptar para aplicar las modificaciones.

Herramientas de Desarrollo Oracle Forms 11/11/10

19

Figura 10. El cuadro de dilogo de seleccin de fuentes. Ahora, situamos las cabeceras de las columnas centradas sobre las columnas seleccionando Arrange, Align Objects (Organizar, Alinear objetos). Para ello se hace clic en el texto de la cabecera de la primera columna de la izquierda para seleccionarlo y, despus, manteniendo pulsada la tecla Mayscula, se hace clic en el campo de esa columna. Seleccionando Arrange, Align Objects se seleccionan las opciones de alineacin de la Figura 11. Se repetir esta operacin para las dems columnas. Ahora seleccionaremos la herramienta Rectngulo y dibujaremos un rectngulo como se ve en la Figura 9 de forma que bordee ambos lados y la parte inferior de la cuadrcula de datos. (Se pueden usar los pequeos marcadores en forma de cuadrados negros para ajustar el tamao y cambiar la posicin del rectngulo, si fuera necesario.) Para crear el efecto tridimensional, seleccionaremos Format, Bevel (Formato, Bisel) y despus del efecto Lowered (Rebajado) para crear el aspecto de un bloque rebajado sobre la pantalla. Se puede ajustar la profundidad utilizando Format, Line. Se crea otro rectngulo ms pequeo para el rtulo de la pantalla, que se solape con el rectngulo anterior. Usando la herramienta Texto, crearemos l rtulo de la pantalla (EMP) utilizando una fuente apropiada. Debe tenerse en cuenta que puede ser necesario seleccionar el rectngulo mayor y a continuacin Arrange, Send to Back (Organizar, Enviar atrs) para llevarlo a un segundo plano si han desaparecido las cabeceras de las columnas al insertar este rectngulo. Usando el ratn, podemos organizar los objetos para que aparezcan en la pantalla como se muestra en el ejemplo.

Herramientas de Desarrollo Oracle Forms 11/11/10

20

Figura 11. El cuadro de dilogo Alinear Objetos Nota: Algunas veces, la caracterstica de valores por defecto en forma inteligente de Oracle Forms hace que los objetos aparezcan de forma diferente a lo que se desea, especialmente en lo relativo a los atributos visuales de las lneas de los bordes y al relleno del objeto. Se pueden corregir esos atributos usando los botones de la paleta de atributos que se encuentran debajo de la presentacin de los atributos visuales actuales en el Layout Editor. Igualmente el men Arrange proporciona opciones para mover objetos hacia delante y hacia atrs de otros objetos.

Personalizar impresos con propiedades


Como hemos mencionado antes, se pueden utilizar las capacidades de las propiedades inteligentes por defecto de Oracle Forms para crear aplicaciones tiles. Sin embargo, en muchos casos es necesario definir caractersticas especiales para objetos de aplicaciones. Se puede hacer esto modificando las propiedades de los objetos del formulario usando la hoja de propiedades del objeto. Para examinar las propiedades, cargaremos de nuevo el formulario de la seccin anterior. Cada objeto del formulario (incluyendo el formulario en s) tiene una hoja de propiedades asociada sensible al contexto. Las propiedades de los objetos estn organizadas en grupos lgicos basados en su utilizacin. Para cambiar una propiedad, se selecciona el objeto en el Navegador de Objetos. Si la hoja de propiedades est visible en la organizacin de ventana dividida, la hoja de propiedades se muestra automticamente para el objeto. Si la hoja de propiedades no
Herramientas de Desarrollo Oracle Forms 11/11/10

21

est visible, haciendo doble clic sobre el icono que se encuentra a la izquierda del nombre del objeto en el Navegador de Objetos se ver la hoja de propiedades. Usualmente, solamente son visibles algunas de las propiedades en la ventana y se dispone de barras de desplazamiento para ver las dems propiedades. Para modificar una propiedad, se hace clic en la propiedad en la hoja de propiedades. El valor de la propiedad es copiado en la lnea superior de la ventana de la hoja de propiedades. Para modificar la propiedad, se editar esta lnea y se pulsar Intro. La primera modificacin personalizada que se haga afectar a la apariencia global de la aplicacin. Seleccione la hoja de propiedades para la ventana del formulario (Ventanas). Cambie el ttulo de la ventana EMP por EMPLEADOS y despus cambie el ancho de la ventana a 400 y la altura a 200. Para impedir que un usuario utilice la funcin Windows para cambiar el tamao del marco de la ventana o para minimizar, actualice la propiedad Tamao Fijo como TRUE (Verdadero) y la propiedad Iconificable como FALSE para la ventana del formulario. Adicionalmente, repita las propiedades del tamao para el lienzo CANVAS1 (o bien el nmero de CANVAS que resulte, CANVAS2..., etc.). Ahora selecciones el elemento EMPNO y cambie la propiedad Actualizacin Permitida a FALSE. Este cambio protege de los cambios a la clave primaria de la tabla de empleados. Finalmente seleccione a la vez los campos EMPNO y ENAME. Obsrvase que la hoja de propiedades comn muestra que se han seleccionado varios objetos y que, en los casos en que las propiedades son diferentes, se muestra un conjunto de asteriscos. Despus de completar todos los cambios, guarde y ejecute el nuevo formulario. El resultado debe tener un aspecto como el de la Figura 12. Compare este formulario con el credo en la seccin anterior para ver la forma en que los cambios de las propiedades afectan al mdulo del formulario resultante.

Figura 12. Formulario de ejemplo de las propiedades personalizadas

Herramientas de Desarrollo Oracle Forms 11/11/10

22

Dia 3
Implementar disparadores y unidades de programa
Se pueden personalizar todava ms las aplicaciones de Oracle Forms desarrollando procedimientos y funciones PL/SQL llamados disparadores. Estos disparadores estn vinculados para especificar actividades en el formulario llamados eventos. Los eventos estn definidos generalmente como antes de (PRE-FORM, PRE-QUERY, PRE-INSERT), despus de (POST-FORM, POST-QUERY, POST-INSERT) o bien durante (WHEN-NEW-FORMINSTANCE, WHEN-BUTTON-PRESSED) las actividades comunes de la base de datos. Adicionalmente, se pueden asociar los disparadores con determinadas actividades del teclado (por razones de compatibilidad hacia atrs con aplicaciones basadas en caracteres), aunque la tendencia es reducir al mnimo los disparadores clave. El formulario de Mantenimiento de empleados de la Figura 13 utiliza un disparador PREINSERT para determinar un nmero exclusivo de empleados basado en un generador de secuencias. Adicionalmente, los disparadores son definidos por los botones de la parte inferior del formulario. Para construir este formulario, se crea un bloque para la tabla EMPLEADOS usando un estilo de formulario en la definicin de la disposicin del bloque. Se organizan los elementos y los objetos de texto fijo como se muestra en la figura y, usando la herramienta Push Button, se crean tres botones como se ve en la pantalla. (Esos botones tendrn en sus propiedades la Etiqueta PUSH_BUTTON.) Usando las herramientas Size Objects y Align Objects del men Arrange, se colocan y se ajusta el tamao de los objetos del formulario y se colocan para que aparezcan como muestra la figura. Ahora definiremos las propiedades de los objetos segn sea necesario definiendo los tamaos de la ventana y del lienzo y de los ttulos. A continuacin, puesto que el nmero de empleado debe estar protegido contra las actualizaciones, cambiaremos las propiedades Actualizacin Permitida y Navegable de EMPNO a False. Modificaremos las propiedades de los rtulos para que los botones reflejen el texto que se muestra en la figura. En este punto, podemos agregar al formulario la lgica de procesamiento adicional. En primer lugar, EMPLEADOS en el Navegador de Objetos. Haremos clic en el botn Create (Crear) y aparecer una lista de todos los nombres de disparadores vlidos que pueden ser construidos para el formulario. El disparador que va a ser construido determina el nmero de empleado para un empleado nuevo antes de insertar basado en el generador de secuencia de la base de datos. Mientras se muestra esta lista, se puede o bien usar la barra de desplazamiento para encontrar el disparador PRE-INSERT o bien teclear el nombre del disparador dentro del cuadro de entrada.

Herramientas de Desarrollo Oracle Forms 11/11/10

23

Figura 13. Impreso de Mantenimiento de Empleados Nota: Generalmente las listas de Oracle Forms usan un algoritmo para estrechar una lista cuando se pulsan las teclas. En este caso, despus de teclear P y R la lista muestra todos los disparadores PRE-x y la lnea de entrada sigue adelante debido a que no existen otros disparadores que comiencen con esas letras. Si se teclea una I y el disparador PRE-INSERT ser el nico disparador de la lista.

El editor PL/SQL, que se muestra en la Figura 14 aparece, indicando el nivel del disparador y el nombre del disparador con una zona que puede ser usada para introducir el procedimiento del disparador como se ha mostrado. Una vez que se introduce el texto, se hace clic en el botn Compilar para asegurarse de que no hay errores de cdigo despus se hace clic en el botn Cerrar para completar la definicin del disparador. Obsrvese el signo de dos puntos usado para hacer referencia desde los campos. Se pueden usar otros botones para Retroceder a la versin anterior a la del ltimo cierre o compilacin, para crear un disparador Nuevo o para Borrar el disparador existente. Finalmente, se debe crear disparadores WHE-BUTTON-PRESSED para los tres botones que han sido creados en el lienzo del formulario como se indica a continuacin: Save: begin commit-form;
24

Herramientas de Desarrollo Oracle Forms 11/11/10

end; Clear begin clear_form; end; begin do_key (EXIT_FORM); end;

Exit

Figura 14. Editor PL/SQL para la creacin de disparadores Los dos primeros disparadores usan procedimientos incorporados estndar, mientras que el tercero usa el procedimiento incorporado DO_KEY para simular la pulsacin de la tecla Exit.

Nota: La tecla Exit (Salir) es definida por el mapeado del teclado para el dispositivo de presentacin en pantalla. En el teclado del PC de IBM, esto es por defecto la tecla Esc pero puede ser modificado usando Oracle Terminal. Para visualizar el mapeado real de las teclas durante el tiempo de ejecucin de Oracle Forms, se teclea Control+K o se selecciona Ayuda, Teclas en el men del formulario.

Siempre que se usa un botn de la pantalla para realizar la misma funcin que sera realizada al pulsar una tecla especfica, es generalmente una buena prctica usar el procedimiento incorporado DO_KEY. Se puede codificar cualquier lgica especfica que necesita ser realizada antes de salir del formulario en un disparador KEY-EXIT para asegurar la consistencia

Herramientas de Desarrollo Oracle Forms 11/11/10

25

Dia 4
Usar grupos de registros y listas de valores para la validacin de los datos
Un grupo de registros es una estructura interna que es anloga a una tabla en la memoria. Los grupos de registros contienen columnas y filas con datos basados en una estructura definida por una definicin de consulta o de columna. Los usos de los grupos de registros incluyen parmetros, matrices estructuradas y entidades de validacin. Este ltimo uso de los grupos de registros es demostrado en el Mantenimiento de empleados de la Figura 15.

Figura 15. Formulario de mantenimiento de Empleados. Para construir este formulario, se comienza con un bloque por defecto para la tabla de elementos usando la disposicin de estilo de formulario. A continuacin, se cambia Lienzo mostrado a <Null> y la propiedad Mostrado a False para los elementos que se desee ocultar de la vista. Estos elementos son ocultados de la vista y son actualizados por las validaciones de la lista de valores que son construidos para este formulario. Tambin se har que el campo EMPNO sea no actualizable y no navegable. Los campos deben ser poblados con datos siempre que se
Herramientas de Desarrollo Oracle Forms 11/11/10

26

consulte un registro de elementos. Para hacerlo se crea un disparador POST-QUERY similar del ejemplo:

Begin select dname into :emp.descrip_depar from dept where deptno = :emp.deptno; exception when no_data_found then :emp.descrip_depar := 'Dept no Existe'; RAISE FORM_TRIGGER_FAILURE End;

Nota: Este disparador ha sido escrito de esta forma puesto que en una aplicacin cliente/servidor, una consulta nica es mucho ms efectiva que varias consultas independientes. Debido a que cada uno de los campos que deben ser cargados pueden obtenerse a travs de una consulta. Otro planteamiento ( y probablemente mejor) es crear una vista que recupere esos valores en la consulta inicial. Siempre se puede usar una vista como tabla base para un bloque. El paso de la excepcin introduce unos pocos conceptos nuevos con relacin a los disparadores la campana incorporada (bell) realiza un sonido audible desde el terminal del usuario. Tambin la excepcin FORM_TRIGGER_FAILURE que es lanzada antes de salir del disparador hace que se aborte el todo el procesamiento cuando se produzca un fallo.

Ahora deben definirse las listas de valores para el departamento. Para crear una lista de valores, se selecciona LOV en el Navegador de Objetos y se hace clic en el botn Create. Aparecer el cuadro de dilogo de la Figura 16. En el cuadro permite escojer que tipo de creacin desea hacer, Manualmente o Wizard, una vez que escoja presiona OK. La primera pantalla le pedir si tiene un record group ya creado, caso contrario se realizar un nuevo LOV con un record group tambien nuevo (Fig. 16.1). Como un LOV es informacin de ayuda, se tiene que armar un query el cual recupere esa informacin. (Fig. 16.2) Las pantallas que siguen, es para verificar cuales campos en el LOV vamos a presentar, a que campos de la forma se le asigna ese valor una vez que se recupere los valores, titulo, ancho columnas etc.

Herramientas de Desarrollo Oracle Forms 11/11/10

27

Figura 16. Creacin de una nueva lista de valores

Figura 16.1 Nuevo grupo de registros o uno ya existente

Figura 16.2 Query que recupera los datos en el LOV

Herramientas de Desarrollo Oracle Forms 11/11/10

28

Figura 16.3 Correspondencia de columnas para una lista de valores

Figura 16.4 Formato y asignacin de valores

Herramientas de Desarrollo Oracle Forms 11/11/10

29

Figura 16.5 Titulo, Tamao y Coordenadas de la pantalla del LOV

Figura 16.6 Cantidad de Registros a Presentarse

Herramientas de Desarrollo Oracle Forms 11/11/10

30

Figura 16.7 Campos a Asignarse en la forma

Figura 16.8 Propiedades del campo que contiene la lista de valores

Herramientas de Desarrollo Oracle Forms 11/11/10

31

Para culminar la creacin del LOV, debemos verificar si el campo de la forma tiene asignado un LOV, esto lo podemos visualizar en las propiedades del campo, en las propiedades de lista de valores. Si nosotros queremos que cuando un usuario digite un dato erroneo aparezca el LOV, la propiedad de VALIDATE FROM LIST debe estar en YES Finalmente, para conseguir completar el formulario, se crea el disparador PRE-INSERT en el bloque de elementos para seleccionar el valor siguiente de S_EMP desde el generador de secuencia como el valor de un nuevo EMPNO. Entonces se debe guardar y generar el formulario para comprobar este concepto.
SELECT S_EMP.NEXTVAL INTO :EMP.EMPNO FROM DUAL;

Una caracterstica a tener en cuenta es que la lista puede ser activada usando la tecla de Lista de Valores (F9 en la mayor parte de las configuraciones estndar de PC; para ver una lista de las teclas definidas, se puede seleccionar Ayuda, Teclas desde el men). La caracterstica de validacin permite al usuario teclear solamente parte del nombre del campo para reducir la lista.

Usar relaciones para enlazar bloques separados en un formulario


Hasta ahora, los ejemplos que se han descrito aqu solamente utilizan un nico bloc de datos. La caracterstica clave de Oracle (o de otras bases de datos relacionales) es que las tablas estn relacionadas entre s por los campos clave. Podemos construir un formulario maestro-detalle, para el cual vamos a necesitar dos bloques, uno que contengan datos referentes a los departamentos y el otro que contengan datos de los empleados. Ahora vamos a crear una relacin entre los bloques, el cual me ayude en el momento de presentar los datos, saber cuales empleados pertenecen a un departamento especifico (Ver fig 18).

Herramientas de Desarrollo Oracle Forms 11/11/10

32

Figura 18. Pantalla con dos bloques relacionados. Para crear las relaciones debemos de ubicarnos en el bloque que va a ser maestro (en el caso del ejemplo el que contiene la informacin de los departamento) y en la clausula relations Crear una relacin. Acontinuacin debemos llenar los datos de la caja de dialogo con el nombre del bloque que va a ser el detalle (EMP) y la condicin que va a relacionar los bloques (EMP.DEPTNO = DEPT.DEPTNO) y automaticamente va a crear Triggers en el bloque de Cabecera y triggers a nivel del forms (ver Fig 19.)

Herramientas de Desarrollo Oracle Forms 11/11/10

33

Figura 19. Creacin de relaciones entre bloques.

Eventos de ratn, temporizadores y otras cuestiones avanzadas


La interfaz estndar de Windows usa varios controles grficos y otros objetos para controlar el funcionamiento de los componentes de las aplicaciones. Oracle Forms proporciona acceso a muchas de esas caractersticas a travs del uso de disparadores del ratn, temporizadores y controles VBX. Adems la mensajera de la mayor parte del software de Windows se realiza a travs de un objeto llamado cuadro de alerta que ha sido implantado en Oracle Forms.

Trabajar con el ratn


El puntero del ratn es el dispositivo principal de las entradas del usuario para la navegacin y la seleccin de la mayor parte de las aplicaciones de Windows. Oracle Forms proporciona disparadores para detectar y actuar en varias de las actividades con el ratn. Oracle Forms 6.0 usa el ratn para la navegacin y para la entrada de comandos. Adems, el ratn puede ser usado para disparar eventos especficos. Un evento puede ser disparado cuando el ratn pasa sobre un elemento de la pantalla (WHEN-MOUSE-ENTER) o cuando sale del elemento (WHEN-MOUSE-LEAVE). Puede producirse un tercer estado del ratn si el ratn se mueve dentro de un elemento (WHEN-MOUSE-MOUVE).

Herramientas de Desarrollo Oracle Forms 11/11/10

34

La tabla 23.2 describe los disparadores adicionales que han sido agregados para las actividades con los botones del ratn.

Nombre del
WHEN_MOUSE_DOWN WHEN_MOUSE_UP WHEN_MOUSE_CLICK WHEN_MOUSE_DOUBLECLICK MOUSE_BUTTON_PRESSED MOUSE_BUTTON_SHIFT_STATE MOUSE_ITEM MOUSE_CANVAS MOUSE_X_POS MOUSE_Y_POS MOUSE_RECORD MOUSE_RECORD_OFFSET MOUSE_FORM

Uso
El operador pulsa y mantiene pulsado el botn del ratn El operador suelta el botn del ratn El Operador pulsa el botn y lo suelta rapidamente El operador hace click dos veces sucesivas en el ratn Devuelve 1 para el botn izquierdo; 2 para el botn central o derecho Devuelve nulo, Mayus+ ,Control+, o Mayus+Control+, dependiendo de la tecla pulsada Elemento actual en el que est localizado el cursor del ratn Lienzo actual en el que esta localidaco el cursor del ratn Posicin X actual del ratn dentro del elemento Posicin Y actual del ratn dentro del elemento Registro dentro del bloque en el que est localizado el cursor del ratn Registro en el que est localizado el cursor del ratn con ralacin al primer registro que se muestra Formulario actual en el que est localizado el cursor del ratn

Tabla 23.2. Disparadores del ratn La instalacin por defecto de Oracle Forms incluye varias bibliotecas y programas de ejemplo que se pueden usar para el desarrollo de los formularios. Una de esas bibliotecas, DRAG.PLL, proporciona funciones que pueden ser usadas para la funcionalidad de arrastrar y soltar de Oracle Forms. Para usar esa biblioteca, seleccione el grupo Bibliotecas incorporadas en el formulario y haga clic en el botn Create. Seleccione despus DRAG.PLL en la ventana Biblioteca del cuadro de dilogo Incorporar Biblioteca.

Trabajar con alertas


Las alertas son dispositivos que pueden ser incluidos en un formulario para proporcionar al usuario la informacin que requiere una respuesta. Una alerta puede ser de tres estilos: de Parada (usualmente errores fatales), de Precaucin (mensajes de aviso) y de Observacin (informativa). Dependiendo del estilo que se escoja, aparecer un icono diferente en el cuadro de alerta. Adems, se pueden definir hasta tres botones rotulados para determinar la respuesta del usuario. La asignacin por defecto es un cuadro de alerta de dos botones con los ttulos OK (Aceptar) y Cancel (Cancelar). Para mostrar esta alerta, una funcin incorporada usa la sintaxis siguiente:
Button_no := SHOW_ALERT (nombre_alerta);

Button_no es definida como una variable numrica PL/SQL. Usando la SET_ALERT_PROPERTY incorporada, se puede cambiar dinmicamente la propiedad ALERT_MESSAGE_TEXT en el tiempo de ejecucin. Usando el disparador estndar, ONMESSAGE, se puede crear un cuadro de alerta que presente al usuario todos los mensajes en un cuadro de alerta en lugar de la lnea de estado, que a veces es ignorada por el usuario. Se puede escribir un ON-MESSAGE que utiliza el cuadro de dilogo MSG_ALERT de Parada, un botn con el rtulo OK (Aceptar) como sigue:
Herramientas de Desarrollo Oracle Forms 11/11/10

35

declare msgtext VARCHAR(80) := message_text; bno number; begin set_alert_property (MSG_ALERT, ALERT_MESSAGE_TEXT, msgtext); bno := show_alert (MSG_ALERT); end;

Dia 5
Consideraciones para aplicaciones de formularios mltiples
Oracle Forms proporciona tres procedimientos incorporados que permiten que el usuario acceda a otros formularios desde un formulario original de llamada. Estos procedimientos son NEW_FORM,CALL_FORM y OPEN_FORM. NEW FORM termina la ejecucin del formulario original e inicia el nuevo formulario. Si se han realizado cambios en los datos de la base de datos, se le solicitar al usuario si desea confirmar los datos. Si selecciona no confirmar los cambios, estos se pierden. Una llamada NEW_FORM se usa generalmente cuando el usuario navega a un mdulo de aplicacin sin relacionar. Por otra parte, CALL_FORM pasa la ejecucin al formulario siguiente, a la vez que mantiene una pila de llamada que regresa al formulario que llama cuando se sale del formulario llamado. Si quedan pendientes cambios en el formulario que llama, se ejecuta el formulario llamado en el modo POST_ONLY. Si el usuario intenta guardar los cambios realizados en el formulario llamado, los cambios son enviados a la base de datos (una anulacin pierde todos los cambios) y son guardados cuando se confirma el formulario original. Generalmente, se usa CALL_FORM cuando los dos formularios son dependientes entre s y los valores pueden ser pasados o bien en variables globales o como parmetros. Una utilizacin de CALL_FORM es agregar un botn a un formulario de introduccin de pedidos que puede ser usado para crear un nuevo registro de empleado. El segundo formulario puede ser usado despus para crear el registro del empleado y, despus de que se inserta un registro nuevo y se entrega o se confirma, puede devolverse el nmero del empleado dentro de una variable global para ser usado para la entrada de pedidos. Finalmente, se usa OPEN_FORM para cargar un segundo formulario a la vez que se mantiene la funcionalidad del primero. Por defecto, el segundo formulario se convierte en el formulario activo; sin embargo, el usuario puede activar el primer formulario haciendo clic dentro de su marco. Si el segundo formulario no debe ser convertido en el formulario activo, puede definirse el segundo parmetro de la llamada al procedimiento como NO_ACTIVATE. Adems, el nuevo formulario es abierto en la misma sesin como formulario original de llamada. Es posible, sin embargo, llamar al segundo formulario con una sesin independiente definiendo el tercer parmetro de la llamada como SESSION. Esto conecta al usuario en una segunda (o tercera, y as sucesivamente) sesin. La ventaja de tener abierta la segunda sesin es que se pueden hacer modificaciones dentro del primer formulario y se las puede confirmar sin afectar a las modificaciones pendientes en el primer formulario. Se puede desarrollar una aplicacin interesante en la que el primer formulario ejecute una consulta basada en un temporizador (por ejemplo, cada dos minutos). Entonces se puede usar el segundo formulario para mantener registros sobre la base de datos y las modificaciones se mostraran en el formulario original. (Esta es una forma tosca aunque eficaz de pasar datos entre dos reas de aplicaciones.
Herramientas de Desarrollo Oracle Forms 11/11/10

36

Bibliotecas, clases de objetos y atributos visuales


Una de las principales caractersticas de los entornos de programacin orientados a objetos es el concepto de la reutilizacin. Al crear objetos reutilizables, podemos hacer cumplir los estndares en forma global y desarrollar aplicaciones con un ritmo sin precedentes. Los usuarios se encuentran ms cmodos con una aplicacin que aparece y opera de forma uniforme. Se han incluido varios objetos en Oracle Forms para proporcionar esta capacidad de reutilizacin. Como se ha descrito antes, las bibliotecas son repositorios de unidades de programas PL/SQL reutilizables. Para trabajar con una biblioteca se crea la biblioteca en el Navegador de Objetos lo mismo que se hace para un formulario. Una biblioteca puede estar relacionada con tres bibliotecas y puede contener unidades de programas PL/SQL. Para usar esas unidades de programas en otros formularios, se relaciona la biblioteca con el formulario y se hace referencia a los procedimientos y funciones como si fuera parte del formulario en s. Si se hacen cambios en la biblioteca, debe regenerarse cada formulario que use la biblioteca para reflejar el cambio. Por otra parte, los atributos visuales son definidos como parte del formulario en s. Un atributo visual define las caractersticas de la fuente y los colores del objeto. Existe un atributo visual especial llamado Default (por defecto) para todos los formularios basados en el valor del parmetro FORMS45_DEFAULTFONT del archivo oracle.ini del sistema. Se pueden disear atributos visuales para definir el significado del elemento. Por ejemplo, una aplicacin financiera puede mostrar valores negativos en rojo o se pueden usar caractersticas especiales para indicar errores o extremos estadsticos. Otro uso valioso de un atributo visual es indicar el registro seleccionado en la actualidad. El atributo de registro actual est disponible tanto en el nivel del bloque como en el del formulario y es usado con frecuencia en aplicaciones de varias filas. Finalmente, se puede cambiar el atributo visual para una instancia de un elemento en forma dinmica en el tiempo de ejecucin usando el procedimiento incorporado DISPLAY_ITEM. La ltima caracterstica que proporciona reutilizacin dentro de un formulario es una clase de propiedad. Una clase de propiedad toma la funcionalidad presentada por el atributo visual y la expande ms definiendo todas las propiedades de una clase de objetos. Esto permite definir un conjunto de clases de propiedades vlidas y usar estas propiedades a travs de las aplicaciones sin definir cada propiedad individual para cada objeto.

Consideraciones de calidad para Oracle Forms


Oracle Forms puede manejar una amplia serie de funciones de procesamiento. Como en el caso de una herramienta poderosa, hay muchas formas de realizar la misma tarea. Es responsabilidad del desarrollador crear aplicaciones que devuelvan la calidad ms alta para el coste global ms reducido. La calidad de un sistema Oracle puede ser clasificada de acuerdo con varios atributos clave:

Fiabilidad: el sistema debe entregar resultados fiables y seguros. Rendimiento: el sistema debe entregar los resultados rpidamente. Caractersticas: el sistema debe entregar la funcionalidad necesaria. Durabilidad: el sistema debe sostener el crecimiento. Capacidad de servicio: el sistema debe poder ser modificado fcilmente.
37

Herramientas de Desarrollo Oracle Forms 11/11/10

Capacidad de cumplir con las normas: el sistema debe adherirse a los estndares. Esttica: el sistema debe tener buen aspecto al realizar las tareas anteriores.

Oracle Forms proporciona muchas herramientas para garantizar la calidad de una aplicacin Oracle. Los disparadores proporcionan las construcciones necesarias para garantizar la fiabilidad de un formulario al adherirse a las reglas segn son establecidas. Acoplando estos conceptos con los disparadores y procedimientos de la base de datos, el proceso de desarrollo del sistema puede hacer cumplir la conformidad con todas las reglas. Adems, las bibliotecas de las unidades de programas y los impresos de referencia son clases de objetos y con atributos visuales definidos pueden ayudar a entregar un sistema fiable que cumpla con el formato de presentacin estndar que est establecido para la organizacin. Estos componentes hacen tambin que un sistema sea ms fcil de modificar para reflejar las modificaciones de las reglas o interfaces deseadas recientemente. Tales modificaciones son inevitables en prcticamente todas las aplicaciones de bases de datos Oracle y, si se usan principios orientados a objetos desde el primer momento, las modificaciones son ms fciles de realizar en el futuro. El concepto final que es clave en el desarrollo de las aplicaciones de bases de datos Oracle es el rendimiento. Desafortunadamente, en muchos casos, el rendimiento es una ocurrencia tarda en el desarrollo de las aplicaciones. Muchos sistemas terminan finalmente en produccin sin que se les haya realizado ninguna puesta a punto del rendimiento. Como mucho, la mayor parte de las aplicaciones reciben slo esfuerzos mnimos de puesta a punto. Esto no es completamente culpa del desarrollador, aunque ste debe estar ms preocupado por el rendimiento del sistema. Despus de todo, siempre que un sistema se comporte pobremente, el dedo acusador apunta siempre al desarrollador. Adems de asegurarnos de que todas las instrucciones SQL son eficientes, hay otras varias reglas que se pueden seguir cuando se construye un formulario, especialmente en un entorno cliente/servidor. Entre ellas se encuentran las siguientes:

Reducir al mnimo el nmero de consultas. Si se llama a un disparador POST-QUERY para cada fila, devuelta por la consulta inicial, crear una vista que contenga toda la informacin en la primera consulta. Combinar consultas no relacionadas si es posible. Varias consultas que devuelven todas una fila usando un ndice nico pueden ser combinadas en una nica consulta. Esto ahorra viajes de ida y vuelta sobre la red. Usar disparadores y procedimientos de bases de datos siempre que sea posible. Estas construcciones garantizan que todo el mantenimiento de la base de datos utiliza las mismas reglas. Adems, se reducen al mnimo las comunicaciones con la base de datos. Finalmente, antes de pasarla a produccin, debe someterse la aplicacin a una prueba de resistencia con un gran volumen de datos con muchos usuarios. Estas pruebas agitan los cuellos de botella e indican dnde puede ser necesario revisar las estrategias de bloque.

Herramientas de Desarrollo Oracle Forms 11/11/10

38

You might also like