+ All Categories
Home > Documents > Forms Oracle

Forms Oracle

Date post: 22-Jul-2015
Category:
Upload: anzasa70
View: 418 times
Download: 4 times
Share this document with a friend
46
 Resumen - SQL Página 1  Marzo - 2009 Developer - FORMS Curso Base de Datos  CURSO BASE DE DATOS F O R M S
Transcript

Marzo - 2009CURSO BASE DE DATOS

FORMS

Developer - FORMSResumen - SQL

Curso Base de DatosPgina 1

IntroduccinEl componente Forms de Developer es la parte del entorno de desarrollo en la que se construyen los mdulos de formularios.

Tambin proporciona el entorno de trabajo para desarrollar mens y mdulos de biblioteca PL/SQL. El entorno de FORMS consiste de una pantalla con una barra de herramientas, un navegador de objetos y una paleta de propiedades.

Developer Forms

Pgina 2

Para agregar un nuevo objeto se debe ubicar el cursor sobre este y presionar el botn con el smbolo ms (+) de la barra de herramientas izquierda. Para eliminarlo se debe presionar el botn con el smbolo equis (X) en la misma barra de herramientas.

El mdulo de formularios es el componente principal de las aplicaciones interactivas. Tambin es el mdulo ms complejo en trminos de estructura interna, ya que contiene clases distintas de elementos.

Cada objeto tiene un conjunto de propiedades visibles en la paleta de propiedades. Para modificar una propiedad solamente se necesita ubicar el cursor en la celda junto al nombre de la misma y cambiar su contenido.

Para crear un mdulo es necesario reconocer los objetos que lo componen: Lienzo El Lienzo es el rea de la ventana en la cual se ubicarn los tems.

Bloque El bloque es una agrupacin lgica de tems. Los bloques pueden estar asociados o no con la base de datos en cuyo caso se llamarn bloques de datos. Tambin pueden ser usados para controlar la ejecucin del mdulo, en cuyo caso se llamarn bloques de control. Estos no estn asociados directamente con objetos de la base de datos.

tem El tem es el objeto de interfaz que despliega informacin. Cada pequeo objeto susceptible de ser incluido en un lienzo se considera como un tem. Como por ejemplo campos de texto, listas de valores, imgenes, botones de chequeo, botones comunes, sonidos, controles de Visual Basic y contenedores OLE, entre otros.

Developer Forms

Pgina 3

Creacin de formulario con el asistenteSi vamos a utilizar elementos de la base de datos, lo primero ser realizar la conexin sobre sta.

Para crear un formulario debemos crear un nuevo mdulo y posteriormente invocar al asistente de bloques que se encuentra en el men herramientas.

Developer Forms

Pgina 4

Seleccionaremos el tipo de bloque que deseamos crear. Se puede seleccionar entre tabla o vista y procedimiento almacenado. Si se selecciona tabla o vista posteriormente se deben ingresar las columnas y tablas usadas. Si se elige procedimiento se deben seleccionar los procedimientos utilizados para las operaciones de la base de datos.

Elegir tablas o vistas y columnas del bloque. Adicionalmente se debe chequear la casilla forzar integridad referencial si se desea que FORMS use las restricciones definidas en la base de datos.

Developer Forms

Pgina 5

Si hemos seleccionado tablas o vistas, podemos indicar qu columnas deseamos que compongan el bloque.

Una vez creado el bloque este aparecer en el navegador de objetos con el mismo nombre de la tabla base o vista. Si se desea se puede modificar.

Developer Forms

Pgina 6

Crear slo el bloque de datos o crearlo y llamar al Asistente de Diseo. Si elegimos sta ltima opcin, se nos guiar para presentar los elementos seleccionados.

Hay dos formas de llegar al Asistente de Diseo, a travs del men herramientas y a travs del submen asociado al botn derecho del ratn, el cual aparece al ubicarse sobre un bloque. Al iniciar el Asistente de Diseo se debemos seleccionar el lienzo (Canvas) existente o crear uno nuevo, y el tipo de lienzo apropiado.

Developer Forms

Pgina 7

Seleccionamos el bloque de datos y las columnas que aparecern en el mismo.

Escribimos el texto que acompaar (Prompt) cada columna y el ancho y la altura del campo.

Seleccionamos el estilo tabular o formulario.

Developer Forms

Pgina 8

Introducimos un ttulo para el marco, el nmero de registros a mostrar y la distancia entre los mismos. Tambin se puede seleccionar si se deseamos una barra de desplazamiento de registros.

Una vez finalizado el asistente visualizaremos los registros ubicados en el lienzo.

Developer Forms

Pgina 9

Ejecucin de un formularioUna vez creado el formulario y guardado, procederemos a la ejecucin.

Para poder ejecutar el formulario, tenemos que tener iniciada la instancia OC4J.

Developer Forms

Pgina 10

Dentro del men Depurar, tenemos la opcin Depurar Mdulo. Y obtenemos el resultado.

Botones de Oracle Forms Runtime: Guardar: Este botn nos permite almacenar las modificaciones hechas en un registro, las nuevas tuplas creadas y las entradas eliminadas. Es un commit en la base de datos. Salir: Con este botn nos salimos de la ejecucin del formulario. Ejecutar consulta: Con este botn ejecutamos una consulta sobre la base de datos en funcin del contenido del formulario, si no tienen ningn valor, nos permite consultar todos los registros. Introducir consulta: Nos permite introducir una consulta para traernos aquellas tuplas de la base de datos que cumplan una determinada condicin. Bloque anterior: Sirve para irnos al anterior bloque de datos, cuando hay ms de uno. Registro anterior: Nos permite irnos al anterior registro, cuando hay ms de uno. Registro siguiente: Sirve para irnos al siguiente registro, cuando hay ms de uno. Bloque siguiente: Nos permite irnos al siguiente bloque de datos, cuando hay ms de uno. Insertar registro: Este botn sirve para aadir un nuevo registro a la tabla. Suprimir registro: Con este botn podemos borrar el registro que se muestra.

Developer Forms

Pgina 11

BloquesLos bloques de un formulario pueden estar basados en diferentes orgenes. En un tabla, en una vista, en una consulta, en un procedimiento. Un formulario puede estar compuesto por varios bloques. Al crear un segundo bloque basado en otra tabla o vista, el asistente de creacin de bloque, nos pregunta sobre la posible relacin maestro detalle de un bloque respecto a otro.

Donde seleccionamos las columnas que unen el bloque maestro con el bloque detalle.

Developer Forms

Pgina 12

El asistente se encarga de crear la relacin entre bloques, procedimiento y disparadores para visualizar los datos detalle en relacin a los datos maestros.

Mediante la paleta de propiedades, respecto a un bloque, podemos modificar la clusula WHERE o la clusula ORDER BY, para establecer alguna condicin sobre los datos a recuperar por el bloque y/o para indicar una ordenacin especfica.

Developer Forms

Pgina 13

Bloques basados en procedimientosLos bloques se pueden basar en procedimientos PL/SQL que devuelvan un cursor REF o una variable de tabla PL/SQL que contenga una o ms filas. Si basamos un bloque en un procedimiento, se nos permite cambiar cualquier elemento de la consulta, incluyendo las tablas de origen o de destino. Tambin se pueden utilizar estructuras de bucle y condicionales PL/SQL con el fin de manipular los valores antes de devolverlos al bloque. Cuando el bloque ejecuta ordenes DML, podemos interceptarlas e interpretarlas segn las necesidades. Procedimiento de tipo tabla PL/SQL Un bloque se puede basar en un procedimiento que devuelva una tabla PL/SQL, lo cual es til cuando se desea que un bloque muestre informacin que dependiera de una consulta SQL compleja.

Procedimiento de tipo REF CURSOR Una variable de cursor (REF CURSOR) apunta a una fila especfica de un conjunto de datos resultantes de una consulta. Cuando deseemos realizar una consulta, tenemos que declarar el cursor REF CURSOR y crear una funcin que recupere las filas en la variable de cursor. Una variable cursor REF CURSOR es una referencia a cursores, ms exactamente es un puntero a un rea de trabajo, donde Oracle almacena los datos resultantes de una seleccin mltiple de registros. Estos punteros almacenan la direccin de memoria del objeto apuntado y por lo tanto, se pueden pasar como parmetros de entrada y/o salida entre procedimientos almacenados y funciones. Un procedimiento almacenado devuelve una referencia a un cursor abierto, rellenado por la sentencia SELECT, que se usa como origen de datos para el bloque. En un procedimiento PL/SQL puede haber almacenado uno o ms cursores. Mediante programacin se podr elegir que cursor se utiliza para rellenar el bloque. Los cursores se deben definir antes de la ejecucin, pero se podrn modificar con el uso de variables de acoplamiento. Un cursor REF CURSOR slo puede ver un origen de datos y no un destino de datos, lo que significa que no es posible devolver informacin al procedimiento por medio del cursor REF CURSOR. Los bloques los deberemos de basar en cursores REF CURSOR cuando se necesite el nivel de flexibilidad que este tipo de cursor proporciona.

Developer Forms

Pgina 14

Una variable de tipo REF CURSOR se utilizar como valor de retorno para el procedimiento de seleccionar y una tabla PL/SQL de registros para pasar valores desde y hacia los procedimientos de instrucciones DML y procedimientos de bloqueo. Seleccionamos el procedimiento desarrollado para la sentencia SELECT.

Developer Forms

Pgina 15

Seleccionamos el procedimiento desarrollado para la sentencia INSERT. A continuacin realizamos los mismos pasos para UPDATE, DELETE y BLOCK.

Un ejemplo de sintaxis tpico de especificacin de paquete para un formulario basado en un procedimiento almacenado, podra ser el siguiente:create or replace PACKAGE AS type IS record( , , .. ); type IS REF CURSOR RETURN ; type IS TABLE OF INDEX BY binary_integer; PROCEDURE seleccionar( IN OUT ); PROCEDURE insertar( IN OUT NOCOPY ); PROCEDURE borrar( IN OUT NOCOPY ); PROCEDURE modificar( IN OUT NOCOPY ); PROCEDURE bloquear( IN OUT NOCOPY ); END;

Developer Forms

Pgina 16

CONSULTASLa funcin de consulta mediante ejemplo, permite al usuario poner la pantalla en el modo de introduccin de consulta, introducir algn valor y ejecutar la consulta para recuperar filas de la base de datos. Cuando basamos un bloque en una tabla el entorno de ejecucin de Forms genera una instruccin SELECT a partir de los elementos de bloque y crea una clusula WHERE basada en las condiciones de consulta que introduce el usuario. Si basamos un bloque en un procedimiento, el entorno de ejecucin de Forms no crea la instruccin SELECT normal, es decir, las condiciones de consulta que introduce el usuario no tendrn ningn efecto. Sin embargo, podemos escribir cdigo para emular parte de la funcionalidad de la caracterstica de la funcin de consulta mediante ejemplo. Debemos modificar el procedimiento de seleccin. Tenemos que pasar parmetros al procedimiento para incluirlos en la clusula WHERE de la consulta.PROCEDURE seleccionar( IN OUT , IN );

Tambin debemos aadir al procedimiento, dentro de la clusula WHERE de la consulta el parmetro pasado, para establecer una condicin.WHERE = ;

Adems debemos cambiar la pantalla. Mediante el Asistente de Bloques, nos situaremos en la ficha de Consulta, pulsaremos el botn de Refrescar y aparecer abajo el nuevo parmetro. Hay que proporcionar un valor para el argumento en la columna Valor. Proporcionaremos el elemento de formulario donde escribiremos el contenido de la consulta, para ello, utilizaremos la sintaxis :BLOQUE.ELEMENTO .

Developer Forms

Pgina 17

CONTROL MEDIANTE PROGRAMAPodemos utilizar la funcin predefinida SET_BLOCK_PROPERTY para cambiar el destino DML y el origen de consulta del bloque mediante cdigo PL/SQL.SET_BLOCK_PROPERTY( , QUERY_DATA_SOURCE_NAME , ());

La consulta deber escribirse entre parntesis.

Developer Forms

Pgina 18

ElementosMdulo de FormulariosEl mdulo de formularios es el componente principal de las aplicaciones interactivas. Tambin es el mdulo ms complejo ya que contiene clases distintas de elementos.

DisparadoresUn disparador es un bloque de cdigo PL/SQL que se asocia a otro elemento: un formulario, un bloque de datos o un elemento de un bloque de datos. El disparador se dispara o se ejecuta, cuando se producen ciertos eventos. Los disparadores de una aplicacin de formularios contienen el cdigo que se aade a la aplicacin, aparte del cdigo que se introduce en las unidades de programa independientes o en bibliotecas. Los disparadores y su estructura lgica constituyen la mayor parte del diseo de un formulario. La mayora de los disparadores que se utilizan son disparadores incorporados, es decir, disparadores proporcionados por el entorno de trabajo de Developer. Cada disparador tiene un nombre especfico, por ejemplo, When-Button-Pressed, Post-Query, On-Delete que se puede seleccionar de una lista de nombres de disparador.

Developer Forms

Pgina 19

Por ejemplo si cuando ejecutemos un formulario queremos que se ejecute una consulta, lo vamos a hacer de forma automtica cuando cree el formulario. Para ello, en el navegador de objetos, nos vamos a Disparadores y pulsamos el botn de crear, seleccionamos el disparador WHEN-NEW-FORM-INSTANCE y pulsamos aceptar.

En el editor de PL/SQL bastar con escribir la orden EXECUTE_QUERY, siempre y cuando slo exista un bloque en la pantalla. En el caso de existir ms de un bloque, primero debemos de activar el bloque mediante la orden GO_BLOCK(NOMBRE_BLOQUE).

En Developer los triggers se pueden definir a nivel de bloque, tem, registro o formulario. El alcance del trigger corresponde con el alcance del nivel de la jerarqua de objetos en que fue definido. Por ejemplo, si se asocia un trigger a nivel de bloque los eventos de todos los elementos de dicho bloque ejecutarn el trigger. Si existe ms de un trigger con el mismo nombre o funcionalidad, en un mbito particular Developer lanzar el que est asociado con el elemento ms bajo en la jerarqua. Por ejemplo, si existe un trigger WHEN_NEW_ITEM_INSTANCE asociado a un bloque y a un tem, Developer ejecuta el trigger del tem e ignora el del bloque. Este comportamiento se puede cambiar modificando la propiedad Jerarqua de Ejecucin del trigger.

Developer Forms

Pgina 20

Algunos triggers solo tienen validez cuando se definen a un nivel especfico. Por ejemplo WHEN_VALIDATE_RECORD no es aplicable a tems individuales, por lo que slo se puede definir a nivel de bloque y de formulario. Para ver los triggers aplicables a un objeto basta con usar el men asociado con el botn derecho del ratn en la opcin Disparadores Smart.

Disponemos de distintos tipos de disparadores De uso de teclas: Los disparadores de teclas, se ejecutan cuando se pulsa una combinacin de teclas en la interfaz de usuario. Aadir disparadores de teclas permite reprogramar el teclado para realizar acciones diferentes de las definiciones estndar de las teclas. (KEY_CLRFRM, KEY_COMMIT, KEY_EDIT, KEY_ENTQRY, KEY_F1, KEY_EXIT). De comandos: ON_ROLLBACK). (ON_CLOSE, ON_COMMIT, ON_ERROR, ON_PULATE_DETAILS,

De eventos posteriores al objeto: (POST_QUERY, POST_DELETE, POST_COMMIT, POST_UPDATE, POST_TEXT_ITEM, POST_BLOCK). De eventos anteriores PRE_TEXT_ITEM, PRE_BLOCK). al objeto: (PRE_DELETE, PRE_FORM, PRE_QUERY,

De eventos inmediatos: (WHEN_BUTTON_PRESED, WHEN_CREATE_RECORD, WHEN_LIST_ACTIVATED, WHEN_NEW_ITEM_INSTANCE, WHEN_VALIDATE_ITEM). Para controlar los errores presentados en un disparador y no permitir que el usuario avance a los tems siguientes se debe invocar la excepcin predefinida FORM_TRIGGER_FAILURE.

Developer Forms

Pgina 21

AlertasDeveloper tiene un tipo especial de ventanas para enviar avisos al usuario. Bsicamente mostrar un mensaje y puede tener hasta tres botones (por ejemplo, "Si" "No" y "Cancelar"). Hay tres tipos de estilos de alerta: Parar, Atencin y Nota. PARAR

ATENCIN

NOTA

Por ejemplo creamos una alerta que nos muestre un mensaje informativo de bienvenida cuando se ejecute el formulario de Proveedores por zonas. En el Navegador de Objetos, seleccionamos Alertas y pulsamos el botn de crear. Abrimos la paleta de propiedades de la alerta creada.

Developer Forms

Pgina 22

Para llamar a la alerta, en el disparador WHEN_NEW_FORM_INSTANCE, escribimos el siguiente cdigo:DECLARE ALERTA NUMBER; BEGIN ALERTA := SHOW_ALERT('A_PRESENTACION'); GO_BLOCK('B_PROVEEDORES'); EXECUTE_QUERY; END;

La funcin SHOW_ALERT devuelve el nmero ALERT_BUTTON1, ALERT_BUTTON2, ALERT_BUTTON3 dependiendo de qu botn haya sido pulsado.

Bibliotecas conectadasEs un rea donde se pueden definir enlaces a libreras o bibliotecas pll, donde se encuentren las funciones, procedimientos o paquetes.

Developer Forms

Pgina 23

Bloques de datosEl bloque de datos es la unidad de construccin intermedia de los formularios. Un bloque de datos se puede ver de dos formas, como una coleccin de elementos o como una coleccin de registros, cada uno de los cuales tiene la misma estructura. Se puede especificar el nmero de registros que se van a mostrar a la vez. Hay dos clases de bloques de datos: Un bloque de datos tabla base corresponde a una tabla o una vista de la base de datos y controla un nmero de registros que corresponden a las filas de la tabla o vista. Un bloque de control no corresponde a una tabla o vista y sus registros no se corresponden a filas de la base de datos. Normalmente los bloques de control representan un conjunto de elementos con valores nicos, que tienen slo un nico registro. Por ejemplo, si es necesario conocer en todo momento los valores aadidos a un conjunto de registros para calcular un total o una media, se puede crear un elemento en un bloque de control que represente dicho valor, existiendo un nico valor para ese elemento y bloque de control. El bloque de datos tiene una barra de desplazamiento que permite al usuario gestionar un conjunto de registros mayor que el que se puede mostrar en el lienzo. Tambin puede tener un conjunto especial de atributos visuales, elementos programables, que definen un aspecto diferente para el registro en curso, el registro en el que est el cursor. La navegacin dentro del bloque de datos se produce normalmente en el orden en el que se definen los elementos en un registro. El sistema en tiempo de ejecucin tiene funciones para moverse de registro en registro, de elemento en elemento y de bloque de datos en bloque de datos. Cuando se sale del ltimo elemento de un registro, se vuelve normalmente al primer elemento de ese registro. Forms permite volver a definir este comportamiento para poder pasar al siguiente registro (o al registro anterior si se retrocede desde el primer elemento). Tambin permite pasar al bloque de datos siguiente o anterior cuando el movimiento se realiza desde el ltimo o el primer elemento, respectivamente. Se puede especificar qu bloque de datos es el siguiente o el anterior. La funcin principal de un bloque de datos de tabla base es proporcionar una interfaz a una tabla o, un procedimiento almacenado en la base de datos.

Developer Forms

Pgina 24

ElementosSon las unidades bsicas de desarrollo de formularios. Un elemento tiene muchas propiedades. Cada tipo de elemento tienes sus propiedades. Se puede hacer referencia a los valores de un elemento utilizando un punto como parte de esta sintaxis especial: . Existen diferentes tipos de elementos: Cuadro de verificacin, Imagen, Lista, botn, etc. Se puede especificar un formato de mscara que establezca el formato de la salida o valide la entrada. Se puede especificar un valor por defecto par el elemento o especificar el nombre de otro elemento del cual copiar el valor inicial.

Elementos con Resultados de ClculosSe pueden crear campos que muestren clculos elaborados en funcin de otros campos o que realicen agregaciones para grupos de registros. Estos campos no almacenan el resultado en la Base de Datos. Visualizamos las propiedades del campo y establecemos Modo de Clculo Frmula.

Si elegimos Frmula, deberemos escribir la operacin deseada.

Developer Forms

Pgina 25

Si elegimos resumen, debemos de indicar en la propiedad Precalcular Resmenes del bloque a resumir que S.

Posteriormente elegiremos en el Item a definir, el Tipo de Dato numrico (Number), la Funcin de Resumen, el Bloque Resumido y el Elemento Resumido.

Grupo de Botones de RadioPodemos crear Botones de opcin para crear opciones excluyentes.

Developer Forms

Pgina 26

Casilla de controlPermiten elegir entre dos valores.

Elementos de ListaPermiten elegir entre una lista de valores. Los valores pueden establecerse a travs de las propiedades del elemento o a partir de un Grupo de Registros mediante programacin.

Developer Forms

Pgina 27

En el caso de rellenar el Elemento de Lista a partir de un Grupo de Registro, necesitamos un procedimiento que rellene la lista de valores a partir de los datos obtenidos por la seleccin. A dicho procedimiento lo podemos invocar al cargar el formulario.

El siguiente procedimiento, es genrico, sirve para rellenar cualquier lista con cualquier grupo de registros.

Developer Forms

Pgina 28

Elementos ImagenPermite trabajar con imgenes, estas pueden ser independientes de una consulta, como un logotipo, o bien, pueden ser un campo perteneciente a una tabla.

Los campos pueden ser de tipo BLOB, datos binarios en ORACLE. Los datos binarios nos van a permitir guardar en la base de datos archivos, imgenes, sonidos, etc. Casi siempre es preferible guardar la ruta del archivo en la base de datos en lugar del propio archivo en modo binario. Vamos a cargar un fichero existente en el servidor en un campo BLOB de una tabla. Lo que debemos hacer es crear un objeto directorio, esto es necesario ya que el fichero que queremos guardar se encuentra en el servidor (PL/SQL se ejecuta en el servidor), y debemos permitir explcitamente el acceso al directorio al usuario que ejecutar el cdigo PL/SQL. Debemos, como administrador, crear el directorio y otorgar permiso de lectura al usuario. El directorio fsico del servidor debe existir.

CREATE OR REPLACE DIRECTORY FOTOS AS 'C:\imagenes' ;

GRANT READ ON DIRECTORY FOTOS TO A01;

Developer Forms

Pgina 29

Ejecutaremos el siguiente bloque para guardar la imagen del fichero art1.jpg en el campo foto de la tabla de artculos.

DECLARE v_bfile BFILE; v_blob BLOB; BEGIN update tarticulo set foto = empty_blob() where CODIGO_ART = 'S-710-MP' return foto into v_blob; v_bfile := BFILENAME('FOTOS', 'art1.jpg'); DBMS_LOB.fileopen(v_bfile, Dbms_Lob.File_Readonly); DBMS_LOB.loadfromfile(v_blob,v_bfile,DBMS_LOB.getlength(v_bfile)); DBMS_LOB.fileclose(v_bfile); COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK; RAISE; END;

Primero insertamos y/o actualizamos el campo BIN vacio con la funcin EMPTY_BLOB y al utilizar RETURN en la sentencia UPDATE se guarda una referencia al campo BIN que posteriormente asignamos al leer el archivo con DBMS_LOB.Loadfromfile. La funcin EMPTY_BLOB. Nos permite guardar un valor nulo en un campo BLOB. La funcin BFILENAME devuelve un objeto BFILE que representa la ruta del fichero que queremos almacenar en la tabla. El uso del paquete DBMS_LOB, permite trabajar con tipos binarios. Fileopen abre el archivo definido por BFILE (v_bfile) en el modo indicado. Loadfromfile lee un determinado nmero de bytes del fichero definido por BFILE(v_bfile) en un objeto de tipo BLOB (v_blob). Getlength devuelve el tamao del archivo en bytes. Fileclose cierra el archivo

Developer Forms

Pgina 30

Elementos BotnPermite crear elementos para ser accionados y producir una tarea. Estos elementos suelen asociarse a disparadores como WHEN-BUTTON-PRESSED.

Elemento MostradoLos elementos de formulario definidos de este tipo, no permiten la edicin, ni si quiera el posicionamiento sobre ellos.

Developer Forms

Pgina 31

RelacionesUna relacin es un elemento especial que Forms utiliza para estructurar formularios maestrodetalle. El elemento relacin, que pertenece al bloque de datos maestro, expresa la relacin del registro maestro con sus registros detallados. Las propiedades principales de la relacin son el nombre del bloque de datos detallado y la condicin de unin que Forms utiliza para gestionar la relacin. Tambin se puede especificar algn comportamiento especial respecto a la eliminacin de registros maestros, si se tienen que borrar, o no, los registros detallados, o la introduccin o actualizacin de registros detallados cuando no existe un registro maestro.

No todas las formas contienen un nico bloque sobre el cual interactuar. Muchas de ellas contienen ms de uno, algunos maestro detalle, los cuales estn relacionados entre s. Para crear una relacin entre dos bloques se debe situarse sobre el bloque maestro y crear una nueva relacin. Seleccionar el bloque detalle en la ventana de creacin de relaciones y seleccionar las operaciones de eliminacin de registros: en cascada para eliminar los registros hijos junto con el padre, aisladas para no eliminar los registros hijos cuando se elimine el padre, no aisladas para evitar que se borre el registro maestro si hay registros hijos. Seleccionaremos la coordinacin entre los bloques: diferida para que los registros hijos no aparezcan cuando se hace la consulta sobre el bloque maestro; para verlos se necesita hacer la consulta sobre el bloque hijo, consulta automtica para traer los registros hijos automticamente cuando se navega al bloque detalle y prevencin de operaciones sin registro maestro para prevenir que se opere sobre registros hijos cuando no hay un maestro seleccionado. Adems debemos escribir la condicin de unin seleccionar un objeto comn existente en ambos bloques sobre el cual se basar la relacin.

Developer Forms

Pgina 32

Una vez creada la relacin FORMS aadir nuevas unidades de programa y disparadores para controlar las operaciones de coordinacin entre ambos bloques. Es posible crear las relaciones de forma automtica. Para ello se necesita crear primero el bloque maestro y luego el detalle usando el Asistente. Una de las opciones del asistente preguntar si hay o no un bloque maestro para crear la relacin.

Developer Forms

Pgina 33

LienzosUn lienzo es la base sobre la que se sita el texto y los elementos. Cada elemento hace referencia a un nico lienzo en su hoja de propiedades. Los elementos de un bloque de datos se pueden dividir entre diferentes lienzos. Un lienzo no es un elemento de interfaz autnomo. Para mostrarlo y ver sus elementos es necesario mostrarlo en una ventana. La parte del lienzo que se puede ver a travs de la ventana es la vista. La ventana puede tener barras de desplazamiento que permiten moverse a travs del lienzo para ver diferentes vistas.

Hay varios tipos de lienzo, de contenido, que muestran el contenido bsico de una ventana, de separador, que muestran el contenido bsico de una ventana en una serie de lienzos superpuestos con solapas de etiqueta, apilado, que se muestra sobre otros lienzos para mostrar informacin condicional o independiente, barra de herramientas vertical, que contiene iconos de herramientas que se muestran en una barra de herramientas vertical situada en el lado izquierdo de una ventana y barra de herramientas horizontal, que contiene iconos de herramientas que se muestran en una barra de herramientas horizontal situada en la parte superior de una ventana.

Lienzo Separador

Lienzo Apilado

Developer Forms

Pgina 34

EditoresLos editores permiten definir y disear nuestras propias ventanas de edicin, para asociar con los elementos del formulario y utilizarlos cuando se soliciten.

Developer Forms

Pgina 35

Lista de Valores ( LOV )Las listas de valores son objetos desplegables que muestran una serie de valores, los cuales, proceden de un Grupo de Registros.

Forms dispone de un asistente para este tipo de objeto.

Podemos elegir entre un Grupo de Registros ya existente, o bien, crearlo basndonos en una consulta.

Developer Forms

Pgina 36

Podemos indicar si queremos devolver valores de la lista, cules y a donde.

Developer Forms

Pgina 37

Como resultado:

Developer Forms

Pgina 38

Grupos de ObjetosSe pueden agrupar diversos objetos, con objetivo comn, bajo el mismo nombre de un Grupo de Objetos. Si el grupo creado se aade a un nuevo formulario, los objetos componentes se restablecen cada uno en su apartado.

ParmetrosSe pueden crear objetos de tipo Parmetros, para aceptar valores de una llamada desde otro formulario.

Mens EmergentesPermite crear mens contextuales asociados a un elemento. Son mens flotantes, que emergen cuando se pulsa el botn derecho del ratn en el elemento seleccionado

Existe un editor de men, para establecer las opciones deseadas.

Developer Forms

Pgina 39

Unidades de ProgramaLas unidades programables se utilizan para estructurar programas. Estos elementos son igualmente aplicables a mdulos de formularios y de mens.

Clases de PropiedadPermite crearnos nuestro propio conjunto de propiedades. Una clase de propiedades puede heredar las propiedades de otra clase de propiedades. Para que un elemento herede las propiedades de una clase de propiedades hay que establecerla en su propiedad Informacin de Subclase, desde esta propiedad tambin se pueden heredar las propiedades de cualquier objeto existente. Las propiedades heredadas se pueden sobrescribir, poniendo el nuevo valor en la propiedad del objeto. Se puede recuperar el valor heredado. La utilizacin de disparadores en las clases de propiedades es posible, slo que es preciso generalizar su funcionamiento.

Developer Forms

Pgina 40

Las propiedades elegidas y sus correspondientes valores, podemos visualizarlos y modificarlos en la Paleta de Propiedades.

Los elementos que deseemos que hereden las propiedades de la clase, debemos indicarlo a partir de Informacin de Subclase, eligiendo el Mdulo donse se encuentra, pudiendo ser el mismo Formulario, o bien, una Biblioteca de Objetos.

Developer Forms

Pgina 41

Grupos de RegistrosUn grupo de registros es una estructura de datos especial, como una tabla con filas y columnas. Un grupo de registros puede ser un grupo de registros procedentes de una consulta o un grupo de registros estticos. Los grupos de registros se pueden utilizar en LOV, en parmetros de datos, como estructuras de datos PL/SQL.

En el caso de elegir Valores Estticos, debemos de poner nombre a las columnas, tipo de dato y sus valores correspondientes.

Developer Forms

Pgina 42

InformesLos objetos de informes contenidos en pantalla son referencias a archivos de informe almacenados en el sistema de archivos. Podemos basar un informe en un bloque, lo que har que se ejecute Report Builder para crear un nuevo informe.

Developer Forms

Pgina 43

Atributos VisualesDefinen los colores y tipo de fuente de los objetos. Podemos elegir entre tres tipos, el Comn, para los elementos de texto, botones, listas; Prompt, para las etiquetas de los elementos; y Ttulo, para el encabezado de los marcos.

VentanasSon el objeto que visualiza los lienzos, las barras de herramientas, los mens.

Developer Forms

Pgina 44

MensEl mdulo de mens es ms sencillo que el mdulo de formularios. Se compone de los siguientes elementos: Bibliotecas Conectadas Mens Grupo de Objetos Unidades de Programa Clases de Propiedades Atributos Visuales

Si deseamos que un formulario trabaje con un men que hayamos diseado, lo haremos saber a travs de la propiedad Mdulo de Mens en la paleta de propiedades del Mdulo.

Developer Forms

Pgina 45


Recommended