DEVELOPER 6i FORMS
Bases de Datos Avanzadas 2009
LOS MDULOS
Mdulos de Formularios
El mdulo de formulario es el componente principal de las aplicaciones interactivas. Tambin es el mdulo ms complejo en trminos de la estructura interna, ya que contiene muchas clases distintas de elementos.
Mdulos de Formularios
Mdulos de Formularios
Triggers o Disparadores Un trigger 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 trigger se lanza, o se ejecuta, cuando se producen ciertos eventos: el evento lanza el cdigo.
Mdulos de Formularios
Triggers (cont.) Los triggers y su estructura y lgica de procesamiento constituyen la mayor parte del diseo y codificacin de un formulario. La mayora de los triggers que se utilizan son triggers incorporados o predefinidos: When-Button-Pressed, Post-Query, OnDelete, Key-Help, Pre-Update, etc..
Mdulos de Formularios
Bloques de datos El 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.
Mdulos de Formularios
Bloques de datos (cont.) Hay dos clases de bloques de datos:
Un bloque de datos de tabla base corresponde a una tabla o vista y sus registros corresponden a las filas de la tabla o vista. La funcin principal de un bloque de datos de tabla base es proporcionar una interfaz a una tabla o a un procedimiento almacenado en la base de datos. Developer 6i gestiona los datos de la base de datos automticamente construyendo sentencias SQL basadas en los bloques de datos y en su estructura.
Mdulos de Formularios
Bloques de datos (cont.) Hay dos clases de bloques de datos:
Un bloque de control no se corresponde con una tabla o una vista de la base de datos. Normalmente, los bloques de control representan un conjunto de elementos con valores nicos, que tienen slo un nico registro.
Mdulos de Formularios
Mdulos de Formularios
Elementos Los elementos de un bloque de datos son las unidades bsicas de desarrollo de formularios. Los diferentes tipos de elementos son:
Elemento de Grfico (Chart Item), Casilla de control (Check Box), Visualizar elemento (Display Item), Imagen (Image), Elemento de Lista (List Item), Contenedor OLE (OLE Container), Botn (Push Button), Grupo de botones de radio (Radio Group), Sonido (Sound), Elemento de Texto (Text Item), Control VBX (VBX Control), rea de Bean (Bean Area), rbol Jerrquico (Hierarchical Tree), rea de Usuario (User Area).
Mdulos de Formularios
Relaciones Una relacin es un elemento especial que Forms utiliza para estructurar formularios maestro-detallados. Pertenece al bloque de datos maestro y expresa la relacin del registro maestro con sus registros detallados a travs de la propiedad que expresa la condicin de unin o join.
Mdulos de Formularios
Mdulos de Formularios
Lienzos (o Canvas) Un lienzo es la base sobre la que se sita el texto plano 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.
Mdulos de Formularios
Lienzos (o Canvas) (cont.) Un lienzo no es un elemento de interfaz autnomo. Para verlo es necesario mostrarlo en una ventana, un rea rectangular rodeada por un marco y mantenida por la plataforma GUI. La ventana puede tener barras de desplazamiento horizontales y verticales que permitan moverse a travs del lienzo.
Mdulos de Formularios
Ventanas Las ventanas pueden ser modales o no modales.
Una ventana modal exige que el usuario responda o descarte la ventana antes de hacer nada en cualquier otra ventana de la aplicacin. Una ventana no modal permite el acceso a otras ventanas de la aplicacin sin descartar la primera.
Mdulos de Formularios
Mdulos de Formularios
Mens emergentes o contextuales Un men emergente o contextual es un men flotante, que emerge cuando se pulsa con el botn derecho del ratn en un lienzo o un elemento. Estos mens permiten situar comportamiento en los elementos de una aplicacin de forma natural y accesible.
Mdulos de Formularios
Avisos o Alertas Un aviso o alerta es un cuadro de dilogo especial que muestra un mensaje con un icono y hasta tres botones, como OK, Cancelar, S y No, etc.. Existen tres tipos de alertas:
de parada, de precaucin y de nota o informacin.
Mdulos de Formularios
Editores Un editor es un cuadro de dilogo con un editor de texto sencillo que permite la introduccin de lneas en un elemento de texto. El elemento editor permite especificar el tamao de la ventana, los atributos visuales, el ttulo del editor y otras propiedades que permite cambiar la apariencia segn el campo de texto.
Mdulos de Formularios
Grupo de registros Un grupo de registros es una estructura de datos especial parecida a 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 esttico. Un grupo de registros procedentes de una consulta se define con una sentencia SQL SELECT.
Mdulos de Formularios
LDV (lista de valores) Una LDV (lista de valores) es un cuadro de dilogo especial que muestra un grupo de registros, permitiendo elegir una fila del grupo y devolviendo un nico valor. Este elemento brinda una forma de obtener automticamente un comportamiento de lista de valores en campos, sin tener que programar.
Mdulos de Formularios
Atributos visuales Un atributo visual con nombre es una coleccin de propiedades visuales a las que se puede hacer referencia desde otro elemento. Clases de propiedades Una clase de propiedad es un elemento que contiene un conjunto de propiedades visuales que se aplican a los elementos basados en ella.
Mdulos de Formularios
Parmetros Un parmetro es un formulario, un men, un informe o un elemento de datos visualizable que se define al nivel de mdulo y que toma un valor cuando se inicia el formulario. Un parmetro tiene un tipo de datos, un valor inicial por defecto y una longitud mxima.
Mdulos de Formularios
Unidades de programa Las unidades de programa de un mdulo son los paquetes PL/SQL, los procedimientos y las funciones que se definen en el mbito de dicho mdulo. Dentro del modulo se puede llamar a cualquiera de las unidades de programas definidas.
Mdulos de Formularios
Bibliotecas adjuntas Las bibliotecas adjuntas son referencias a mdulos de bibliotecas que se han definido, para que dentro del propio mdulo se pueda llamar a cualquier unidad de programa PL/SQL definida dentro de la misma.
Mdulos de mens
Consiste en un conjunto de elementos programables (Atributos visuales, Clases de propiedades, Parmetros, Unidades de programa, Bibliotecas adjuntas) y un conjunto de mens. A su vez, cada men consiste en un conjunto de opciones.
Mdulos de mens
Las opciones del men pueden ser sencillas o tener uno de los siguientes formatos:
Comprobar (Check): una opcin con una marca de verificacin al lado. Radio (Radio): una opcin que pertenece a un grupo de opciones mutuamente exclusivas. Separador(Separator) : una opcin encargada de separar otras opciones a travs de un espacio o una lnea. Mgica(Magic): una opcin especial de una plataforma, como Cortar, Copiar, Pegar, Deshacer o Ayuda.
Mdulo de biblioteca
Es bastante simple comparado con otros mdulos; consiste nicamente en un conjunto de unidades de programa y un conjunto de bibliotecas asociadas. Las bibliotecas se pueden almacenar en el sistema de archivos o en la base de datos como cualquier otro mdulo.
Paquetes incorporados
Los paquetes proporcionan una lista de herramientas de manipulacin de mdulos y otros elementos para Forms, Reports y Graphics. Cada paquete contiene una especificacin que lista los subprogramas del paquete junto con su especificacin (parmetros y valores devueltos por las funciones).
Ejecucin de un informe
Ingresar consulta Ejecutar consulta Cancelar consulta Bloque anterior Registro anterior
Bloquear registro Remover registro Insertar registro Bloque siguiente Nuevo registro
LIENZOS Y VENTANAS
Lienzo de dibujo
Un lienzo es la base sobre la que se sita el texto plano y los elementos. Cada elemento hace referencia exactamente a un lienzo en la paleta de propiedades. Los elementos de un bloque se pueden dividir en lienzos diferentes. Un lienzo no es un elemento de interfaz en si mismo. Para verlo a l y a sus elementos, el lienzo se debe mostrar en una ventana.
Lienzo de dibujo
Hay cuatro tipos de lienzos: Contenido Apilado De fichas o Pestaas Barra de herramientas
Lienzo de dibujo
Lienzos de Contenido Un lienzo que contiene el "contenido" de una ventana; cada ventana tiene al menos un lienzo de contenido y generalmente solamente uno.
Lienzo de dibujo
Lienzos Apilados Un lienzo que se muestra encima de otro lienzo, conteniendo generalmente un grupo de elementos independiente de los elementos del lienzo de contenido subyacente.
Lienzo de dibujo
Lienzos de Fichas Un lienzo de contenido que divide el contenido de la ventana en fichas; el usuario pulsa en la ficha del lienzo para ver los elementos de la pgina de dicha ficha.
Lienzo de dibujo
Lienzos Barra de Herramientas Un lienzo que contiene botones con iconos de herramientas que la ventana muestra en barras horizontales y verticales en la parte superior o en el lado izquierdo de una ventana, respectivamente.
Lienzos Apilados
Los lienzos apilados permiten diversos efectos especiales:
Se puede crear un grupo de botones y otros elementos en un grupo separado con un fondo que lo distinga grficamente del resto del contenido del lienzo. Se puede crear un grupo de elementos separable y reutilizable, como una lista de botones.
Lienzos Apilados
Efectos especiales (cont.):
Se puede ocultar o mostrar un lienzo apilado mediante programa para crear una vista que cambie automtica-mente cuando el usuario realice determinadas acciones. Se pueden mostrar texto y campos fijos en la parte superior de mltiples lienzos de contenido que cambian dentro y fuera dinmicamente. Se puede tener un conjunto de elementos permanentes en una pantalla con mltiples registros.
Lienzos Apilados
Cmo crearlos?
Seleccionar un (Nuevo Lienzo) y especificar como tipo "Apilado" al utilizar el Asistente de Diseo. Situar el lienzo apilado sobre el lienzo de contenidos. La relacin de ubicacin entre ambos lienzos, se puede ver en el Editor de Diseo (Ver / Vistas Apiladas). Dimensionar el lienzo de contenido para que contenga sus propios elementos y el lienzo apilado. Luego dimensionar la ventana para que los contenga.
Lienzos de Fichas
Un lienzo de fichas muestra sus elementos en una o varias fichas. Una ficha es un tipo de lienzo reducido parecido a una carpeta de archivos. Cuando se pulsa en una de las solapas etiquetadas, Developer 6i muestra dicha pgina. Los lienzos de fichas se utilizan para agrupar elementos.
Lienzos de Fichas
Cmo crearlos?
Seleccionar un (Nuevo Lienzo) y especificar como tipo "Tabulador" al utilizar el Asistente de Diseo, indicar tambin como separador de pgina (nueva pgina de tabulacin). Volver a utilizar el Asistente de Diseo habiendo seleccionado el Lienzo de tipo Tabulador en el navegador. Indicar como pantalla el lienzo creado previamente y como separador de pgina (nueva pgina de tabulacin).
Lienzos de Fichas
Cmo crearlos? (cont.)
Distribuir los elementos desplegados entre las distintas pginas y cambiar la posicin en cada una de ellas a travs del Editor de Diseo o de las propiedades. Modificar los tamaos, los ttulos, etc. de las pginas a travs del Editor de Diseo o de las propiedades.
BLOQUES Y ELEMENTOS
Bloques y Elementos
Developer 6i proporciona diversas caractersticas relacionadas con elementos:
Con los botones de opcin se pueden crear fcilmente opciones mutuamente exclusivas. A travs de campos con resultados de clculos se pueden mostrar totales y otros clculos que se realizan en un formulario. Utilizando mscaras de formato para las fechas se puede reducir los errores relacionados con fechas y horas en la base de datos.
Listas
Una lista es un elemento de formulario que permite mostrar una lista de elementos de texto en un nico lugar. La idea es permitir que el usuario elija entre diversas opciones mutuamente exclusivas viendo la lista de opciones y seleccionando una. Existen cuatro tipos de lista:
Lista emergente, Lista T, Cuadro de combinacin y Lista de valores (LDV).
Listas
Lista emergente: Es una lista desplegable de elementos texto que se activa a travs de una pequea fecha en un cuadro al lado de la lista, provocando que la lista se despliegue en la ventana junto al elemento.
Listas
Lista T: Es un cuadro de lista que muestra todos los elementos texto en una lista desplazable, como un lienzo independiente, pero dentro de un nico campo del formulario.
Listas
Cuadro de combinacin: Es una combinacin de la lista emergente y un elemento de texto que permite desplegar una lista de elementos texto, pero que adems permite introducir un valor.
Listas
Lista de valores (LDV): Es un cuadro de dilogo que muestra los elementos texto y proporciona capacidades de bsqueda en la lista ajustndose a un patrn. El cuadro de dilogo devuelve el nico elemento de la lista seleccionado y lo copia en otro elemento bloque; ste es un bloque completamente independiente de Forms, no un elemento lista.
Listas
Todas estas listas muestran de alguna forma una lista de elementos texto. Sin embargo, las cadenas de caracteres visualizadas no son necesariamente los valores de los elementos. La lista transforma lo que se ve en la pantalla, una etiqueta, en un valor real del elemento, y dicho valor es el que Forms almacena en la base de datos.
Listas
Importante:
Cuando se consulta un conjunto de registros, y alguno de ellos viola un trigger o cualquier otra condicin exigida por el formulario, simplemente se descarta el registro. Una de las condiciones exigidas es que el valor de un elemento lista est en la lista que se ha codificado. La propiedad Correspondencia de Otros Valores" de los elementos lista permite asignar un valor, con el que se muestran los registro que contienen elementos que no estn en la lista.
Listas
Listas explcitas Es una lista que se especifica completamente durante el diseo. Se utilizaran para listas sencillas que no cambian. Ventajas: son la simplicidad y la velocidad. Se pueden crear muy rpidamente y su rendimiento es muy bueno porque estn en memoria. Desventaja: no se pueden cambiar sin
Listas
cmo crear una Lista explcita? Crear el elemento lista en el bloque. Asignar el valor Artculo de Lista a la propiedad "Tipo de elemento, la longitud de la etiqueta ms larga a la propiedad "Longitud Mxima y a la propiedad Estilo de la Lista" uno de los tres tipos de lista: Lista Desplegable, Tlista, CasilleroCombo. Introducir en la propiedad "Elementos en Lista las etiquetas y los valores correspondientes.
Listas
Listas dinmicas Es una lista que se rellena en tiempo de ejecucin. Hay dos formas de rellenarlas:
Construir la lista a partir de una tabla de la base de datos. La lista obtiene sus etiquetas y valores de un elemento de grupo de registros que se crea y se rellena con una sentencia SELECT. Despus, la lista se rellena a partir del grupo de registros. Utilizar la funcin incorporada Add_List_Element para aadir los valores.
Listas
cmo crear una Lista dinmica a partir de un grupo de registros? Crear el elemento lista y configurar la propiedad Correspondencia de Otros Valores. Crear un elemento grupo de registros. Crear una unidad de programa que rellene el grupo de registros con la consulta y luego los utilice para cargar la lista. Elegir un trigger para construir la lista, por ejemplo When-New-Form-Instance.
Listas
cmo crear una Lista dinmica utilizando Add_List_Element? Crear el elemento lista y configurar la propiedad Correspondencia de Otros Valores. Crear una unidad de programa que rellene la lista utilizando la funcin incorporada Add_List_Element, que aade un elemento a la lista. Elegir un trigger para cargar la lista.
Listas
LDVs o Lista de Valores Es un cuadro de dilogo independiente que contiene una lista interna con capacidades de bsqueda ajustndose a un patrn. Una LDV es similar a una lista T dinmica a la que se aade una bsqueda por patrn. Aunque es un elemento independiente en la jerarqua de elementos de Forms, no es un elemento lista de bloque.
Listas
cmo crear una Lista de Valores? Crear la LDV y su grupo de registros basado en SQL. Conectar el elemento al LDV mediante las propiedades del elemento. Conectar la LDV al elemento mediante la propiedad "Lista de Valores" del grupo "Lista de Valores (LDV)" del mismo.
Listas
Para crear una Lista de Valores se puede utilizar un Asistente o hacerla en forma manual
Botones de opcin
El botn de opcin ofrece una alternativa para permitir al usuario elegir entre una serie de valores alternativos. Un grupo de opciones es una coleccin de botones de opcin, en el que un botn de opcin es un pequeo botn circular con una etiqueta. Cuando el usuario pulsa un botn, se deja de seleccionar el botn actual y selecciona el elegido. Slo puede estar seleccionado un nico botn de opcin al mismo tiempo.
Botones de opcin
Los botones de opcin se utilizan cuando se tiene un nmero relativamente pequeo de opciones mutuamente exclusivas y es poco probable que cambien con el tiempo. Igual que con las listas, si se obtiene una fila de la base datos con un valor que no se corresponde con ninguno de los valores de los botones de opcin, se la descarta. Es posible utilizar la propiedad Correpondencia de Otros Valores" del grupo de opciones.
Botones de opcin
El grupo de opciones es un elemento de bloque que se corresponde a la columna de una tabla de la base de datos. Los botones de opcin se corresponden a posibles valores de dicha columna.
Navegacin
La interfaz de usuario permite interactuar con un nico elemento, como ser un botn, una lista desplegable o un campo de texto, una parte de la interfaz de usuario, llamada foco de atencin del usuario. La posicin del cursor, es un tipo de puntero virtual que seala el elemento que tiene el foco de atencin El usuario controla las tareas realizadas por la aplicacin navegando entre los elementos del formulario. Los eventos de navegacin constituyen los eventos bsicos de una aplicacin de formularios.
Procesamiento de Navegacin
Pre-Form, Pre-Block, Pre-Record, Pre-TextItem Post-Form, Post-Block, Post-Record, PostText-Item When-New-Form-Instance,When-NewBlock-Instance,When-New-RecordInstance, When-New-Item-Instance
Procesamiento de Transacciones
Una transaccin de formulario es una secuencia de eventos, procesos y triggers que tiene como resultado final la confirmacin de los datos en la base de datos o la vuelta atrs de los cambios.
Procesamiento de Transacciones
Triggers asociados:
Pre-Commit
Pre-Insert, Pre-Update, Pre-Delete On-Insert, On-Update, On-Delete Post-Insert, Post-Update, Post-Delete Post-Forms-Commit, On-Commit Post-Database-Commit
Procesamiento de Transacciones
Bloqueo
Developer 6i utiliza el bloqueo exclusivo
Procesamiento de Transacciones
Cuando un trigger hace un cambio en la base de datos mediante una sentencia UPDATE o DELETE. Cuando un trigger llama a las funciones DELETE_RECORD, EXECUTE_QUERY (FOR_UPDATE) o LOCK_RECORD. Cuando el trigger contiene una sentencia SQL LOCK TABLE explcita (no se recomienda).
Triggers asociado:
On-Lock
Validacin
La validacin sucede cuando se navega fuera del elemento o cuando se pulsa el retorno de carro. Se puede validar un elemento, un registro, un bloque de datos o un formulario.
Validacin
Triggers asociado:
Procesamiento de consultas
En Developer 6i las aplicaciones de formularios tienen incorporado un proceso de consulta que proporciona una tremenda potencia y flexibilidad sin tener que escribir ni una lnea de cdigo. Escrutinio de la consulta: este proceso le solicita al servidor que le diga el nmero de registros que devolver la consulta. On-Count Aborto y cierre de la consulta: mientras se introduce la consulta, se la puede querer finalizar sin ejecutarla. On-Close
Procesamiento de consultas
Introduccin (Enter_Query) de una consulta
Where.
Procesamiento de consultas
La condicin-consulta mediante: se puede especificar
Condiciones por defecto: el conjunto de condiciones que se especifican en la clusula WHERE por defecto en la propiedad de un bloque o en tiempo de ejecucin mediante un trigger. Condiciones de columna: condiciones que se introducen cuando se rellenan las columnas en el registro de ejemplo. Condiciones especiales: condiciones que se introducen a travs del cuadro de dilogo
Procesamiento de consultas
Ejecucin de (Execute_Query) una consulta
Una vez que se ha introducido la consulta, sta se ejecuta con el men, la barra de herramientas o cualquier otra interfaz que se haya creado. Triggers asociado:
Pre-Query Pre-Select, On-Select, Post-Select
Procesamiento de consultas
Recogida de registros
Despus de completar el proceso de ejecucin de la consulta SQL, Developer 6i organiza la recogida de registros. Triggers asociado:
On-Fetch Post-Query
Coordinacin maestro-detalle
Un evento de coordinacin es cualquier evento de un bloque maestro que hace que cuando el registro en curso del bloque maestro sea otro diferente del actual; desencadene la necesidad de refrescar la informacin de detalle. Triggers asociado:
On-Clear-Details On-Populate-Details On-Check-Delete-Master
Manejo de mensajes
Existen dos triggers que afectan el manejo de mensajes en aplicaciones Developer 6i Forms: On-Error, On-Message. Funciones incorporadas que devuelven diversas partes del mensaje:
Error_Code o Message_Code. Error_Text o Message_Text. Error_Type o Message_Type. DBMS_Error_Code, DBMS_Error_Text.