domingo, 26 de febrero de 2017

Creando un Módulo de Form Sencillo

Objetivos:
• Crear un módulo Form.
• Crear un bloque de datos.
• Guardar y compilar un módulo Form.
• Identificar formatos y características de los archivos Forms.

NOTA: Usamos como ejemplo la Base de Datos: ORCL, la cual viene por defecto en cualquier versión de ORACLE.
______________________________________________________________________________________
Creando un Módulo de Form.
Las aplicaciones Oracle Forms Developer suelen consistir en uno o más módulos Forms. Cada módulo Form comprende bloques de datos que se crean utilizando las especificaciones de una tabla de la Base de Datos. Esta publicación muestra cómo crear un módulo Form básico con bloques de datos. De igual manera vemos como desplegar dicho módulo.

Como crear un módulo Form.
Paso
Acción
Herramienta Forms Builder
1.
Crear un módulo vacío.
Object Navigator
2.
Crear Bloque de Datos y sus Items
Asistente para Bloques de Datos.
3.
Aplicar estándares de interfaz de usuario a objetos
Librería de Objetos.
4.
Ajustar el diseño
Asistente de diseño o Layout Editor
5.
Ajustar las propiedades de los objetos
Property Palette
6.
Agregar el código.
Editor PL/SQL
7.
Probar el modulo Form
Botón Run Form
Formas de crear un nuevo módulo Form:
• Ejecute Forms Builder.
---Seleccione la opción "Usar el Asistente para bloque de datos (Data Block Wizard)", luego, siga los pasos de creación de los bloques de datos necesarios. A continuación, siga los pasos del Asistente de diseño (Layout Wizard).
---Seleccione la opción "Crear un nuevo Form manualmente". Esto le llevará al Navegador de objetos de Forms Builder (creando automáticamente un módulo Form vacío).
---Seleccione la opción "Crear un Form basado en una plantilla" y utilice una plantilla de Form.
• Si ya está en Forms Builder, puede crear un módulo Form nuevo realizando una de las siguientes acciones:
---Haga doble clic en el nodo Forms del Navegador de objetos (sólo cuando no hay otros módulos de Forms disponibles).
---Seleccione Archivo (File)>Nuevo (New)>Form.
---Seleccione el nodo Navegador de objetos para Forms y, a continuación, haga clic en el icono Crear (Create).
Cambiar el nombre del Módulo Form.
• Cuando crea un módulo Form por primera vez, Forms Builder asigna el nombre MODULEXX al módulo nuevo, donde XX es el siguiente número disponible. Este nombre se muestra en el Navegador de objetos y en la paleta de propiedades. Debe cambiar el nombre predeterminado por un nombre significativo en cualquiera de los siguientes lugares:
• Navegador de objetos:
---Haga clic en el nombre del módulo Form.
---Cambie el nombre predeterminado por el que desee y presione [Enter].
• En la paleta de propiedades.

Nota: Siga las reglas de nomenclatura de Oracle. No dé a dos objetos del mismo tipo el mismo nombre. El nombre no puede incluir palabras reservadas de Oracle o Forms Builder.

Las Propiedades del Módulo Form.
Cada módulo Form consta de varios objetos. Los objetos dentro de un Form y el propio módulo Form tienen propiedades que definen su comportamiento. Puede ver las propiedades de un objeto y sus valores en la Paleta de Propiedades (Property Palette).
Para abrir la paleta de propiedades de un objeto, realice una de las siguientes acciones:
• Haga doble clic en el icono del objeto en el Navegador de objetos.
• Seleccione el objeto en el Navegador de objetos y seleccione Herramientas>Paleta de propiedades (F4).
Defina las propiedades del módulo Form una vez lo cree. Las propiedades afectan al comportamiento general del Form y los objetos dentro de él.
Las propiedades de un módulo Form incluyen las siguientes:
Propiedad
Descripción
Nombre (Name)
Especifica el nombre interno del módulo Form, tal como aparece en el Navegador de objetos.
Sistema de Coordenadas (Coordinate System)
Define las unidades utilizadas para medir objetos en el Form y sus posiciones.
Selección de la unidad para el Sistema de Coordenadas.
Al hacer clic en Más (More) en la ventana Paleta de Propiedades con la propiedad Sistema de coordenadas seleccionada, se abre la ventana Información de coordenadas.
La unidad Sistema de Coordenadas de un Form puede ser una de las siguientes:
• Real:
---La unidad puede ser píxel, centímetro, pulgada, punto o decipunto.
---Las unidades reales son adecuadas para aplicaciones GUI ya que permiten flexibilidad y alineación fina al ajustar posiciones y tamaños de objetos.
• Carácter (Character): Las unidades son celdas de caracteres (tamaño predeterminado tomado de la configuración de fuente predeterminada).
La unidad predeterminada es el punto (Real). Esto significa que las posiciones de objeto y los tamaños dentro de la forma son medidos por esta unidad. Los puntos proporcionan una alineación y una coherencia fina entre diferentes plataformas y dispositivos de vídeo.

______________________________________________________________________________________
Creando un Nuevo Bloque de Datos.
La creación de bloques implica su creación y la posterior colocación visual de sus Items. Puede crear un bloque de datos manualmente o mediante los asistentes de Forms Builder.

Nota: Recuerde que un bloque de datos puede basarse en una tabla o vista, un procedimiento almacenado, una consulta de cláusula FROM o un Trigger transaccional. En esta publicación, se utilizan tablas de Base de Datos como fuente.

Asistente para Bloques de Datos (Data Block Wizard).
El Asistente para Bloques de Datos le permite crear (o modificar) bloques de datos de forma rápida y fácil para su aplicación. El asistente puede generar automáticamente código para aplicar restricciones de integridad en la Base de Datos.

Asistente de Diseño (Layout Wizard).
Aunque el Asistente para Bloques de Datos le permite crearlos de forma fácil y con sus fuentes de datos asociadas, no se ocupa de la presentación visual de objetos. Una vez que haya creado el bloque de datos, debe establecer/colocar su contenido para que el usuario pueda interactuar con ellos. Para realizar esta tarea rápida y fácilmente, utilice el Asistente para Diseño.

Nota: Los asistentes, no son la única manera de crear un bloque de datos, puede crearlos manualmente (los asistentes suelen ser la manera más sencilla).

______________________________________________________________________________________
Iniciar el Asistente para Bloque de Datos.
Para iniciar el Asistente para bloque de datos, realice una de las siguientes acciones:
• Seleccione Herramientas (Tools)> Asistente para Bloque de Datos (Data Block Wizard).
• En algún nodo del Object Navigator, haga clic con el botón secundario (Clic Derecho) y seleccione la opción Asistente para  Bloque de Datos (Data Block Wizard).
• En el Object Navigator, seleccione el nodo Bloques de Datos y, a continuación, haga clic en el icono Crear (Create). En el cuadro de diálogo Nuevo Bloque de Datos, seleccione la opción Usar el Asistente para bloque de datos.
• En el Editor de Diseño, haga clic en Asistente para bloque de datos en la barra de herramientas.
Creación de un nuevo Bloque de Datos con el Asistente para Bloque de Datos.
Utilice el Asistente para Bloque de Datos para crear un nuevo Bloque de Datos con una fuente de datos de Base de Datos. El Asistente para bloque de datos consta de varias páginas. Para crear un nuevo bloque de datos, debe interactuar con cada página.
Pagina de Bienvenida.
Pagina para la selección del tipo de Bloque.
Página para selección de Tabla.
Pasos para operar en ella:
1. Introduzca el nombre de la tabla o la vista que desea usar y luego presione Refrescar (Refresh) o haga clic en Examinar y seleccione la misma de la lista de tablas.

Nota: Si no está conectado a la base de datos, se muestra un cuadro de dialogo para conectarse.
2. Seleccione las columnas que desea incluir en el Bloque de Datos. (Use [Ctrl] - para seleccionar más de una columna).
4. Haga clic en la flecha doble derecha o la flecha doble izquierda para incluir o excluir todas las columnas o haga clic en la flecha derecha o izquierda para incluir o excluir únicamente las columnas seleccionadas. También puede arrastrar las columnas seleccionadas de una lista a otra.
5. Seleccione la casilla de verificación "Aplicar integridad de datos (Enforce data integrity)" si desea que el asistente imponga las restricciones de integridad de la Base de Datos.

Nota: Si hay al menos otro bloque existente en el módulo actual, la página siguiente que se muestra es la página Maestro-Detalle, donde puede asociar el nuevo Bloque de Datos con otros bloques de datos maestros.

Página Final.
Seleccione la opción "Create the data block, then call the Layout Wizard" para que luego de la creación del Bloque se invoque el Asistente de Diseño. Seleccione Finalizar para crear el nuevo bloque de datos e invocar inmediatamente el Asistente de Diseño.

Nota: Puede salir del asistente sin invocar el Layout Wizard (Just create the data block). De hacer esto, luego debe establecer las posiciones de cada Item manualmente o invocar el Asistente de diseño en un momento posterior para distribuir los elementos del bloque de datos. Para invocar el Asistente de diseño en un momento posterior, seleccione el bloque de datos en el Navegador de objetos y elija Herramientas (Tools)> Asistente de diseño (Layout Wizard).

______________________________________________________________________________________
Colocación de los Items del Bloque con el Asistente de Diseño.
Utilice el Asistente de Diseño para establecer los Items del bloque de datos para su presentación visual. El asistente de diseño consta de varias páginas. Debe interactuar con cada página.
Página Canvas.
Si ya tiene algún Canvas creado:
1. De la lista Canvas: Seleccione el Canvas donde desea mostrar los elementos del Bloque de Datos.
Si no tiene Canvas creado:
1. Seleccione New Canvas para obtener un nuevo Canvas en el cual mostrar los elementos del bloque de datos.
2. Seleccione Content como el tipo de Canvas.

Página Bloque de Datos.
1. Seleccione los elementos que desee visualizar en el marco del bloque de datos. (Use [Ctrl] para seleccionar más de una columna).
2. Haga clic en la flecha doble derecha o doble izquierda para incluir o excluir todos los elementos o haga clic en la flecha derecha o izquierda para incluir o excluir sólo los elementos seleccionados. También puede arrastrar elementos seleccionados de una lista a otra.
Nota: Para dibujar los elementos en una secuencia en particular, arrastre/mueva los elementos en esa secuencia.
3. Puede utilizar la lista Item Type para seleccionar el tipo de cada elemento. El tipo predeterminado es Texto para cada elemento.
Nota: Puede cambiar el tipo de dato de cada Item posteriormente.

Página Items.
En esta pantalla puede establecer/cambiar el Ancho (Width), Largo (Height) y la Etiqueta (Prompt) para cada Item.

Página de Estilo.
Sus opciones son:
Form (normalmente utilizado para crear bloques de datos de registro único).
Tabular (usualmente se usa para crear bloques de datos multirecord).

Página Filas y Marco (Frame and Rows).
Pasos:
1. Introduzca un título en el campo Título del Marco (Frame Title).
2. Introduzca el número de registros que desea mostrar en tiempo de ejecución en el campo Records Displayed.
3. Introduzca la distancia física (en la unidad de sistema de coordenadas del Form) entre registros si está mostrando más de un registro a la vez.
4. Puede seleccionar la casilla de verificación Mostrar barra de desplazamiento para mostrar una barra de desplazamiento junto al marco (común para los bloques de datos de registro múltiple).
5. Haga clic en Finalizar para crear un nuevo marco y desplegar los elementos seleccionados para el nuevo bloque de datos. Los pasos del Asistente para diseño están completos.

Nota: Una vez que haya completado los pasos del Asistente para diseño, puede ver el diseño en el Editor de diseño, donde puede personalizar o modificar el diseño si es necesario.

______________________________________________________________________________________
Funcionalidad del Bloque de Datos.
Una vez creado un nuevo bloque de datos mediante los asistentes, Forms Builder crea automáticamente los siguientes objetos para usted:
• Un nuevo módulo Form con un menú predeterminado (Las funcionalidades básicas como consultar, insertar, actualizar y eliminar están disponible automáticamente).
• El nuevo Bloque de Datos se crea con las propiedades predeterminadas. Estos valores se pueden modificar para cambiar el comportamiento del Form.
• Un objeto Frame para organizar los elementos dentro del nuevo bloque de datos.
• Un Item para cada columna de tabla de Base de Datos incluida en el bloque de datos (a cada Item se le asignan propiedades predeterminadas para que coincidan con las especificaciones de columna subyacentes).
• Un Titulo (Prompt) para cada Item del Bloque de Datos (El Prompt predeterminado es el nombre de la columna).

Además, si marca "Enforce data integrity" en la página Table del Asistente para Bloque de Datos Forms Builder se crean Triggers para validar las entradas del usuario.

______________________________________________________________________________________
Cómo Guardar un Módulo Form.
Para guardar la definición del módulo de formulario, realice una de las siguientes acciones:
• Seleccione Archivo (File)> Guardar (Save).
• Presione el icono Guardar (Save).
Ambas opciones anteriores muestran el cuadro de diálogo Guardar (Save) al hacerlo por primera vez.

Nota:
 Cuando guarda un Form, se genera un archivo .fmb. Este archivo guarda el código fuente del Form, no es ejecutable y sólo puede abrirse mediante Forms Builder.
 Cuando trabaja con más de un módulo a la vez, Forms Builder hace un seguimiento por separado de los cambios que realice en cada módulo. Cuando ejecuta un comando Guardar, sólo se guarda el módulo actual.

Compilación de un Módulo Form.
Antes de poder ejecutar un Form, debe compilar un archivo ejecutable (.fmx) del archivo de diseño (.fmb) que creó en Forms Builder. La compilación de un módulo Form crea el archivo ejecutable necesario.
Para compilar y crear el ejecutable:

Nota: La compilación y guardar son dos tareas independientes. Al realizar uno no ejecuta automáticamente el otro. Ambas tareas deben realizarse por separado.

______________________________________________________________________________________
Ejecutar un Módulo Form.
Luego de crear los objetos y diseñar la manera en la cual desea que se muestren, debe probar que todo funciona como debe, para hacerlo:
1. Presiona Programa (Program) -> Ejecutar Form (Run Form) o presiona las tacla: Ctrl+R.

Nota: Recuerde que antes de ejecutar un Form, el Servidor Form de Middleware debe esta ejecutado, para ejecutarlo (11G):
Al ejecutarlo se abrirá una ventana que no debe cerrar:

El Form una vez ejecutado:
______________________________________________________________________________________
Ajunto el Form Básico creado para esta práctica: Link.

Nota: En este Form agregamos un Trigger: WHEN-NEW-FORM-INSTANCE para que aparezcan los registros de la tabla employees tan pronto como se ejecute en Form. Esto seria igual a:
• Presionar Consulta (Query)-> Ejecutar (Execute) una vez ejecutado el Form.
______________________________________________________________________________________
Fuente: Oracle Forms Developer 10g: Build Internet Applications.