• Describir los Componentes de Forms Builder.
• Navegar por la interfaz de Forms Builder.
• Identificar los objetos principales en un Form.
• Personalizar la sesión de Forms Builder.
• Consultar la ayuda en línea.
• Identificar los ejecutables de Form.
• Describir los tipos de Forms.
• Establecer variables de entorno para el diseño y el tiempo de ejecución.
• Ejecutar un formulario desde Forms Builder.
• Navegar por la interfaz de Forms Builder.
• Identificar los objetos principales en un Form.
• Personalizar la sesión de Forms Builder.
• Consultar la ayuda en línea.
• Identificar los ejecutables de Form.
• Describir los tipos de Forms.
• Establecer variables de entorno para el diseño y el tiempo de ejecución.
• Ejecutar un formulario desde Forms Builder.
______________________________________________________________________________________
Funciones Principales de Forms Builder.Forms Builder es un importante componente de Oracle Forms Developer. Puede utilizar Forms Builder para desarrollar aplicaciones basadas en formularios que permiten presentar y manipular datos de varias maneras.
Los usuarios de Forms Builder pueden:
• Insertar, actualizar, eliminar y consultar datos utilizando una variedad de elementos.
• Presentar datos mediante el uso de texto, imágenes y controles personalizados, incluyendo JavaBeans y componentes Java.
• Controlar los Forms con el uso de diferentes ventanas y transacciones de Base de Datos.
• Enviar datos directamente a Oracle Reports.
Como diseñador de aplicaciones Forms, puede:
• Diseñar formularios que utilicen diferentes fuentes de datos, incluyendo Bases de Datos Oracle.
• Construir aplicaciones de forma rápida y sencilla mediante el uso de poderosas herramientas de desarrollo de GUI.
• Diseño de aplicaciones para la implementación en Internet.
• Copiar y mover objetos y sus propiedades fácilmente entre aplicaciones.
• Utilizar herramientas de diseño como asistentes, el Editores de diseño, Navegadores de objetos y Editores PL/SQL.
______________________________________________________________________________________
El Navegador de Objetos.
Los componentes de la interfaz de Forms Builder ayudan a proporcionar flexibilidad y productividad en el entorno de desarrollo de Oracle Forms Developer.
El Navegador de Objetos.
El Navegador de Objetos es una interfaz de edición en forma de navegador jerárquico. Puede utilizarlo para localizar y manipular objetos de forma rápida y sencilla.
Características:
• Tiene forma de jerarquía, con nodos indentados y expandibles. En los nodos de nivel superior se muestran los tipos de módulo (Form), los objetos de Base de Datos y los paquetes. Todos los demás nodos y los objetos que contienen están sangrados para indicar que pertenecen a estos nodos de nivel superior.
• Continene una herramienta util para buscar campos y iconos, permitiendo búsquedas hacia atrás y adelante en cualquier nivel de nodo o para un elemento individual en un nodo.
• Contiene Iconos en la barra de herramientas vertical que hacen las mismas funciones que el menú Edit y View.
• Cada objeto contiene un icono distintivo para indicar el tipo de objeto.
Paleta de Propiedades.
Todos los objetos de un Form, incluido el propio Form, tienen propiedades que se pueden ver y modificar en la Paleta de Propiedades.
Características:
• Permite copiar y reutilizar las propiedades de otro objeto.
• Tiene una herramienta de búsqueda al del Object Navigator.
Editor de Diseño.
El Editor de Diseño (o el Modelador de Diseño) es un recurso de diseño gráfico para crear y organizar elementos/objetos gráficos de la aplicación. Puede utilizar la Paleta de Herramientas y la Barra de Herramientas disponibles en el Editor de Diseño útiles para diseñar el estilo, dar color, cambiar el tamaño, en general, modificar los objetos visuales en la aplicación.
Nota: El diseño puede incluir objetos gráficos e imágenes.
Editor PL/SQL.
El Editor PL/SQL le permite incorporar objetos de código PL/SQL a un Form. Los objetos de código en el Forms Developer incluyen Triggers de eventos, Subprogramas (Funciones y Procedimientos), comandos de tipo menu item, códigos de menú de inicio y Paquetes. Puede crear y compilar bloques de código en el Editor PL/SQL.
______________________________________________________________________________________
Introducción a la interfaz de Forms Builder.
Iniciando Forms Builder:
Cuando inicia Forms Builder, primero ve un cuadro de diálogo de bienvenida. Si hace clic en Cancelar para cerrar el cuadro de diálogo, verá el Navegador de Objetos y un nuevo módulo Forms vacío.
Si crea aplicaciones que acceden a objetos de Base de Datos, debe conectarse a una desde Forms Builder.
Conéctese a una Base de Datos si necesita:
• Compilar el código que contiene SQL.
• Acceder a objetos de Base de Datos via el Navegador de Objetos.
• Crear objetos de Oracle Forms Developer basados en objetos de Base de Datos.
Para conectarse a Oracle:
1. Seleccione File>Connect (Ctrl + j) en el menú o haga clic en el icono Connect () de la barra de herramientas.
2. Introduzca el usuario y la contraseña de Base de Datos en el cuadro de diálogo Connect. Si no se conecta a la Base de Datos predeterminada, debe proporcionar también la cadena de conexión o el alias de la Base de Datos en cuestión.
Nota: Oracle Forms Developer muestra automáticamente el cuadro de diálogo Connect si intenta realizar una tarea que requiere conexión.
______________________________________________________________________________________
Navegando en el menú principal de Forms Builder.
El menú principal de Forms Builder contiene opciones que permiten crear, modificar y administrar los módulos de Forms.
Funciones comunes del Menú:
Interfaz GUI Nativa.
El menú mostrado en la Última imagen representa el entorno de Windows NT. Sin embargo, los menús aparecen con la misma apariencia de su Interfaz GUI Nativa.
Por ejemplo, en Motif, las opciones de Windows Print Dialog aparecen como submenús del menú Font.
Menú Principal de Forms Builder:
Opción
|
Descripción
|
Archivo (File)
|
Opciones comunes de Archivos, como Abrir (Open), Guardar
(Save), Conectar (Connect), etc.
|
Editar (Edit)
|
Cortar (Cut), Copiar (Copy), Pegar (Paste), Crear (Create),
Preferencias (Preferences), y demás.
|
Ver (View)
|
Cambiar la vista en la ventana actuar; Las opciones varían
dependiendo del contexto.
|
Diseño (Layout)
|
Comandos comunes usados en el Editor de Diseño (Layout
Editor).
|
Programa (Program)
|
Incluye opciones de compilación y comandos relativos
al código.
|
Debug
|
Invoca la funcionalidad Debugger.
|
Herramientas (Tools)
|
Acceso a Asistentes y otros componentes de Forms
Builder.
|
Componentes de Forms Builder.
Los módulos de Forms forman el "cuerpo" principal de una aplicación Oracle Forms Developer. Los mismo pueden consistir de muchos tipos de objetos, algunos de los cuales son visibles para el usuario en tiempo de ejecución.
Los tres objetos principales en una forma son:
Items: son objetos que presentan valores de datos y/o permiten al usuario interactuar con el Form (dependiendo del tipo de Item). Hay diferentes tipos de Items. Los Items se agrupan de forma lógica en Bloques y son visibles en los Canvases.
Bloques: Un bloque es la unidad de construcción intermedia para los Forms. Cada Form consta de uno o más Bloques. Un bloque es el propietario lógico de los elementos, por lo cual, cada elemento de un Form pertenece a un bloque. Los elementos en un bloque están relacionados lógicamente; Por ejemplo, pueden corresponder a columnas en la misma tabla de Base de Datos o pueden necesitar ser parte del mismo ciclo de navegación.
Los bloques proporcionan un mecanismo para agrupar elementos relacionados en una unidad funcional, lo cual permite almacenar, visualizar y manipular registros.
Canvases: Un Canvas es una "superficie" donde se organizan objetos visuales, como gráficos y Items. Un módulo de Form puede tener varios Canvases (como las páginas de un formulario en papel). Un Canvas puede mostrar elementos de uno o más Bloques. Para ver un Canvas y sus Items, debe abrir el Canvas en una ventana. Por defecto, todos los Canvases de un Form aparecen en la misma ventana (lo que podría significar que sólo se vea un Canvas a la vez), pero puede asignar ventanas separadas para cada Canvas para que se puedan ver varios a la vez.
Nota: Los elementos de un bloque no necesitan ser agrupados físicamente. Pueden estar presentes en diferentes Canvases (y ventanas).
______________________________________________________________________________________
Navegando en un Módulo de Form.
Cuando ejecuta un Form, se suele navegar principalmente por Items y Bloques, no por Canvases. Cada Item tiene una posición secuencial dentro de su bloque, y cada bloque tiene una posición secuencial en el Form.
Cuando un usuario solicita cambiar (Tecla Tab) al siguiente Item de un bloque, el enfoque se establece en el siguiente Item en secuencia, donde quiera que sea. Si el Item siguiente se encuentra en un Canvas diferente, Oracle Forms Developer muestra automáticamente el Canvas. Del mismo modo, los usuarios pueden solicitar cambiar al siguiente bloque (o bloque anterior), Al hacerlo, si el primer Item de este bloque reside en otro Canvas, ese Canvas se muestra automáticamente. Si ya puede ver el Item al cual desea cambiar, puede por supuesto hacer clic directamente en él.
Nota: Puede programar mecanismos en la aplicación para habilitar la navegación de otras maneras y de paso inhabilitar la navegación secuencial entre Items y Bloques.
______________________________________________________________________________________
Los Bloques de Forms.
Tipos de Bloques:
En Forms Builder hay dos tipos principales de bloques: Bloques de Datos y Bloques de Control.
Bloques de Datos.
Cuando usa Forms Builder crear aplicaciones de Base de Datos, muchos de los bloques serán bloques de datos. Un bloque de datos está asociado con una tabla (o vista) de Base de Datos específica, un Procedimiento almacenado, una consulta con cláusula FROM o a Triggers Transaccionales.
Si el bloque de datos se basa en una tabla (o vista), a su vez el mismo puede ser programado para acceder a datos de más de una tabla y/o fuentes de datos. De forma predeterminada, la relación entre un bloque de datos y la Base de Datos permite al usuario acceder y manipular los datos de la Base de Datos de forma automática. Para acceder a los datos de otras tablas (tablas sin base), debe escribir Triggers de Forms.
Para una tabla base, Forms Builder puede realizar las siguientes acciones automáticamente:
• Crear Items en el bloque de datos que correspondan a las columnas de la tabla (estos Items son llamados Items de Datos o Items de la tabla base).
• Producir código para emplear las restricciones (CONSTRAINTS) de la tabla.
• Generar SQL en tiempo de ejecución (SQL implícito) para insertar, actualizar, eliminar y consultar filas en la tabla base, basadas en acciones del usuario.
En tiempo de ejecución, puede utilizar teclas de función estándar, botones, opciones de menú o opciones de la barra de herramientas para iniciar operaciones de consulta, inserción, actualización o eliminación en las tablas base, así como también, hacer COMMIT de la transacción.
Bloques de Control.
Un Bloque de Control no está asociado con una Base de Datos y sus Items no se relacionan con ninguna columna de alguna tabla de la Base de Datos. Sus elementos se llaman Items de Control. Por ejemplo, puede crear muchos botones en un Form para realizar determinadas acciones y agrupar estos botones de forma lógica en un Bloque de Control.
Bloque Maestro vs Bloque Detalle.
Para establecer relaciones entre los Bloques de Datos y sus tablas bases subyacentes, es posible definir un Bloque de Datos como Detalle (hijo) de un Bloque de Datos Maestro (principal). Esto conecta los valores de Llave Primaria (PRIMARY KEY) y Llave Foránea (FOREIGN KEY) a través de bloques de datos y sincroniza los datos que estos muestran.
Forms Builder genera automáticamente los objetos y el código necesarios para establecer relación Maestro-Detalle. Para lograr esto el Programador, sólo necesita establecer las propiedades que permiten esto.
Nota: Si su aplicación lo requiere, también puede crear bloques de datos independientes en los que no haya relación entre los dos bloques de datos.
Bloques Multirecord vs Single-Record (Un sólo Registro).
Puede diseñar bloques de datos que muestren un registro (bloque Single-Record) o varios a la vez (bloque multirecord). Generalmente, se crea un bloque de datos Single-Record para mostrar los datos del bloque maestro y un bloque de datos Multirecord para mostrar los datos del bloque detalle. En ambos casos, los registros de los bloquez de datos que actualmente no están visibles en la pantalla se almacenan en el buffer del bloque.
______________________________________________________________________________________
Aplicaciones Multi-Bloque y Multi-Form.
Por lo general, una aplicación de Forms Builder consta de más de un bloque de datos.
Con varios bloques de datos, es posible:
• Separar el ciclo de navegación de un grupo de Items a otro.
• Asignar cada bloque de dato a una tabla de Base de Datos diferente (puede tener una tabla base por cada bloque de datos).
• Producir un Form Maestro-Detalle, con un bloque de datos maestro y los correspondientes bloques de datos detalle relacionados con el maestro.
Puede crear un módulo Form grande con muchos bloques de datos, o puede tener pequeños módulos Form sólo con los bloques de datos necesarios en cada uno.
Generalmente, las aplicaciones Form pequeñas suelen tener las siguientes características:
• Sus módulos Form se cargan sólo cuando sus Items son requeridos, conservando así memoria.
• Su mantenimiento puede ocurrir en un módulo Form por separado sin regenerar ni cargar los demás.
• Las formas pueden invocarse entre si, según sea necesario.
• Pueden ser Desarrolladas/Diseñadas en paralelo por diferentes miembros del equipo en diferentes componentes.
.
Algunos puntos a tener en cuenta al agrupar bloques de datos en una aplicación:
______________________________________________________________________________________
Las Jerarquías en un Módulo Form.
Como ya mencionamos, un módulo Form se compone de uno o más bloques. Un bloque de datos se basa en un objeto de Base de Datos (Tabla o Vista). Un bloque de datos puede contener tanto Items de datos como Items de control. Se pueden crear marcos (frames) para ordenar y/o agrupar Items de un bloque de datos. Cada Item debe aparecer (Si es visible) en un Canvas y cada Canvas debe aparecer en una ventana (Window). Un módulo Form puede tener uno o más Canvases y ventanas.
Utilizando Triggers, puede agregar funcionalidad al Form. Los Triggers se pueden escribir en diferentes niveles de un módulo Form. Las Unidades de Programa (Program Units) creadas por el usuario le permiten escribir código PL/SQL adicional a través de procedimientos, funciones y paquetes.
Puede crear una gran cantidad de tipos de objetos en un módulo Form, los cuales serán presentados en publicaciones futuras.
En la tabla siguiente presentamos algunos de los objetos disponibles en Form, tenga en cuenta que algunos objetos guardan relación con los demás, pero no siempre uno pertenece a otro.
______________________________________________________________________________________
Personalizando la Sesión de Forms Builder.
Puede utilizar las preferencias para personalizar algunos aspectos de su sesión de Forms Builder.
Preferencias de Forms Builder:
Hay cuatro Pestañas (Tabs) en el cuadro de diálogo Preferencias (Preferences). Para ver las descripciones de cada preferencia, haga clic en Ayuda (Help) en el cuadro de diálogo Preferencias o presione la tecla Ayuda ([F1].
Además de las preferencias de sesión, también puede establecer configuraciones en tiempo de ejecución que se aplican al ejecutar el Form desde el Builder.
Para modificar las preferencias:
1. Seleccione Edit>Preferences.
2. Especifique/cambie las opciones que necesite.
3. Haga clic en Aceptar (Ok) para guardar o en Cancel para cancelar los cambios.
La siguiente tabla describe brevemente las Pestañas:
______________________________________________________________________________________
Ejecutables Form Developer.
Forms Builder incluye dos ejecutables (componentes) a los que puede acceder como diseñador de aplicaciones.
Forms Builder.
Este es el componente de desarrollo/creación de aplicaciones de Oracle Forms Developer. Puede utilizar Forms Builder para diseñar y almacenar las definiciones de Forms, menús y bibliotecas. En el mismo Forms Builder, puede invocar el otro componente, el Forms Compiler. Debe ejecutar el componente Forms Builder en un entorno GUI para utilizar sus herramientas de diseño gráfico.
Forms Compiler.
Una vez creado el Form, utilice el Forms Compiler. Esto lee la definición de su módulo Form y crea un archivo ejecutable.
Invocando ejecutables de Form Builder.
En un entorno GUI, usualmente se almacenan comandos que invocan componentes de Forms Builder en menús y ventanas para un acceso rápido. También puede introducirlos en la línea de comandos.
Forms Services.
Dado que las aplicaciones de Form están orientadas a la Web, no es posible ejecutarlas directamente desde la línea de comandos. Se invocan especificando la URL en un navegador o mediante un visor applet, dirigido a Servicios Forms.
Los archivos utilizados en tiempo de ejecución deben haber sido compilados previamente por el Forms Compiler. Estos archivos deben residir en la máquina de nivel medio en un directorio donde Forms Runtime Engine tenga acceso (regedit FORMS90_PATH).
Para probar sus aplicaciones, puede acceder a Forms Services directamente desde Forms Builder estableciendo ciertas preferencias.
Tipos de Módulos Forms Developer.
Una aplicación Forms puede consistir de módulos, es decir, varios archivos. Un módulo Form es un componente importante de su aplicación, y el mismo posee el resto de los objetos en el sistema.
Tipos:
Form: Como componente principal de una aplicación, el módulo Form presenta los datos y objetos con los que el usuario puede interactuar. Los elementos de datos en un Form se organizan en registros.
Menú: Un módulo de menú puede consistir en una jerarquía de menús, cada uno con elementos seleccionables.
Librerías de PL/SQL: Es una colección de unidades de programas PL/SQL cuyo código puede ser referenciado y invocados desde otros módulos.
Librerías de Objetos: Es una colección de objetos Form que puede utilizar en otros módulos. Puede crearlo para almacenar, mantener y distribuir objetos estándar que pueden reutilizarse en toda la organización de desarrollo.
Tipos de Módulos Forms Builder.
Forms Builder proporciona el menú predeterminado para cada Form. El menú predeterminado incluye comandos para todas las operaciones básicas de una Base de Datos, como insertar, eliminar, consultar, etc. Si su aplicación tiene requisitos específicos que no se cumplen con el menú predeterminado, puede crear un módulo de menú personalizado. Los módulos de menú no son funcionales por sí mismos, osea, tienen funcionalidad cuando están adjuntos a módulos Forms.
Las Librerías de PL/SQL pueden contener unidades de programa (Program Units) que pueden ser utilizadas por otros módulos Forms y Menús.
Puede crear una aplicación de varios módulos Forms, módulos de Menús y Librerías, según sea necesario.
______________________________________________________________________________________
Variables de Entorno de Oracle Developer.
Oracle Forms Developer usa muchas variables de entorno las cuales tienen valores predeterminados pero que pueden ser modificadas en su propio entorno (Instancia) por diferentes aplicaciones.
Cambiando Rutas en Tiempo de Ejecución.
Forms utiliza algunas variables de entorno establecidas en la máquina de nivel intermedio para buscar archivos como Forms, Menús y Librerías en tiempo de ejecución. Esto le permite crear aplicaciones portátiles a través de plataformas y estructuras de directorios, evitando rutas codificadas en las referencias de los archivos.
Forms busca las siguientes rutas en orden hasta que se encuentra el archivo requerido:
1. En el directorio de trabajo actual.
2. En los directorios FORMS90_PATH.
3. En los directorios ORACLE_PATH.
Nota: Aunque puede establecer estas variables a nivel de máquina, como en el Registro de Windows (regedit), es preferible establecerlas en el archivo de entorno Forms. La configuración de este archivo reemplaza la configuración del sistema al ejecutar una aplicación Forms.
Definiendo el Entorno en Tiempo de Diseño (Design Time).
Las variables de entorno en tiempo de diseño ayudan a gobernar el comportamiento de Forms Builder. Estas variables deben configurarse en la máquina donde está instalado Oracle Developer Suite. En plataformas Windows son configuradas en el Registro de Windows.
Archivos de Clase Java: Forms Builder necesita acceso a ciertas clases Java para algunas de sus características, como la Ayuda, el depurador (Debugger) y el importador Java. Se establece FORMS90_BUILDER_CLASSPATH para que Forms Builder pueda encontrar las clases Java que necesita durante el desarrollo y la prueba de una aplicación.
Archivos de Iconos: Forms Builder le permite crear botones con imágenes icónicas. Puede utilizar imágenes .ico, .gif o .jpg. Se establece UI_ICON con la ruta del directorio donde se encuentran estas imágenes. De igual manera se establece la variable de entorno UI_ICON_EXTENSION para decirle a Forms Builder qué tipo de imagen mostrar en los botones. Los valores válidos son ico (el valor predeterminado), gif o jpg.
Nota: Aunque puede utilizar imágenes .ico para mostrar en los botones icónicos dentro de Forms Builder, dichas imágenes no se mostrarán al ejecutar el Form- use .gif o .jpg para los iconos desplegados.
Las Fechas en Oracle Forms Developer.
Las fechas en las aplicaciones Oracle Forms Developer pueden provenir de varias fuentes:
• Desde la Base de Datos.
• Establecida por el Usuario Final.
• Definida en la Aplicación como tal.
Máscaras para el Formato de Fecha.
Además de las máscaras que un desarrollador puede definir explícitamente, Forms Builder utiliza varias de sus propias máscaras internas. Los valores de estas máscaras internas se pueden especificar con valores de propiedades y variables de entorno.
Para eliminar posibles errores causados por el año 2000 (Y2K), puede establecer variables de entorno que Forms Builder utiliza para formatear elementos de fecha:
• Máscara de formato de Fecha de Base de Datos: Cada sesión de Base de Datos dentro de una aplicación Forms tiene una máscara fecha de Base de Datos única. El parámetro de inicialización del servidor Oracle establece un valor predeterminado para esta máscara. Puede sobreescribir este valor en cada nueva sesión de Base de Datos para un cliente determinado estableciendo la variable de entorno NLS_DATE_FORMAT del cliente.
• Formato Fecha de Entrada: Esta máscara (potencialmente, un conjunto de máscaras) se utiliza para convertir una cadena introducida por el usuario a un valor de Fecha (formato nativo). Puede configurar las variables de entorno FORMS90_USER_DATE_FORMAT o FORMS90_USER_DATETIME_FORMAT para especificar estas máscaras de formato. Por ejemplo, puede establecer FORMS90_USER_DATE_FORMAT en el valor FXFMDD-MM-RRRR. Esto obligaría al usuario a introducir valores en formato: 30-06-97 en los Items de fecha. El token RRRR permite que se introduzcan años entre 1950 y 2049 con el siglo omitido.
• Formato Fecha de Salida: convierte las fechas mostradas en la salida: FORMS90_OUTPUT_DATE_FORMAT o FORMS90_OUTPUT_DATETIME_FORMAT.
• Formato de Fecha Error: Convierte las fechas mostradas en mensajes de error: FORMS90_ERROR_DATE_FORMAT o FORMS90_ERROR_DATETIME_FORMAT.
Modificando Variables de Entorno de Tiempo de Ejecución.
En un entorno Windows, utilice el Registro de Windows (regedit) para modificar estas rutas, a excepción de CLASSPATH, que se establece en la configuración del sistema del Panel de control. También puede anular estas configuraciones en tiempo de ejecución en el archivo que controla el entorno de ejecución Forms, que por defecto es el archivo default.env.
El uso del archivo de entorno Forms facilita el despliegue de aplicaciones en cualquier plataforma. Puede especificar cual archivo de entorno utilizar en un archivo de configuración de Forms formsweb.cfg (por defecto). En este archivo de configuración, puede establecer parámetros del sistema, como el nombre del archivo de control de entorno. También puede establecer parámetros para controlar qué Form ejecutar, el ID de usuario, aspectos del cliente Java y el archivo HTML que contiene el applet de Java, y muchas otras configuraciones.
______________________________________________________________________________________
Botón Execute Form.
El Botón de menú Execute Form (Ctrl+R) le permite ejecutar un módulo Form en un navegador Web desde Forms Builder. Esto facilita la prueba de su aplicación en un entorno de tres niveles, permitiéndole al Desarrollador probar la funcionalidad como lo haría un usuario final.
Debe definir algunas informaciones básicas para habilitar este entorno de prueba de tres niveles. La misma se define en Preferencias: Edit>Preferences, Tap Runtime, opción: URL del Servidor de Aplicaciones (Application Server URL): La dirección que indique debe ser una URL que apunte al Servlet Forms en el nivel intermedio. Tenga en cuenta que normalmente se encuentra en la misma máquina en la que ejecuta Forms Builder.
También puede usar el parámetro config para especificar una configuración X en el archivo de configuración de Forms Web (formsweb.cfg por defecto). Por ejemplo para la misma máquina donde se ejecuta el OC4J en el puerto predeterminado de 7001: http://localhost:7001/forms/frmservlet (11G). De igual forma en la opción Ubicación del Explorador Web (Web Browser Location): puede establecer el navegador en el cual desea ejecutar el Form.
Nota: La forma correcta de salir de una sesión de Form es mediante (File>Exit, o haciendo clic en Exit) y luego cerrar el navegador. Si cierra el explorador sin salir primero del Form, su sesión puede bloquearse.
______________________________________________________________________________________
Para una tabla base, Forms Builder puede realizar las siguientes acciones automáticamente:
• Crear Items en el bloque de datos que correspondan a las columnas de la tabla (estos Items son llamados Items de Datos o Items de la tabla base).
• Producir código para emplear las restricciones (CONSTRAINTS) de la tabla.
• Generar SQL en tiempo de ejecución (SQL implícito) para insertar, actualizar, eliminar y consultar filas en la tabla base, basadas en acciones del usuario.
En tiempo de ejecución, puede utilizar teclas de función estándar, botones, opciones de menú o opciones de la barra de herramientas para iniciar operaciones de consulta, inserción, actualización o eliminación en las tablas base, así como también, hacer COMMIT de la transacción.
Bloques de Control.
Un Bloque de Control no está asociado con una Base de Datos y sus Items no se relacionan con ninguna columna de alguna tabla de la Base de Datos. Sus elementos se llaman Items de Control. Por ejemplo, puede crear muchos botones en un Form para realizar determinadas acciones y agrupar estos botones de forma lógica en un Bloque de Control.
Bloque Maestro vs Bloque Detalle.
Para establecer relaciones entre los Bloques de Datos y sus tablas bases subyacentes, es posible definir un Bloque de Datos como Detalle (hijo) de un Bloque de Datos Maestro (principal). Esto conecta los valores de Llave Primaria (PRIMARY KEY) y Llave Foránea (FOREIGN KEY) a través de bloques de datos y sincroniza los datos que estos muestran.
Forms Builder genera automáticamente los objetos y el código necesarios para establecer relación Maestro-Detalle. Para lograr esto el Programador, sólo necesita establecer las propiedades que permiten esto.
Nota: Si su aplicación lo requiere, también puede crear bloques de datos independientes en los que no haya relación entre los dos bloques de datos.
Bloques Multirecord vs Single-Record (Un sólo Registro).
Puede diseñar bloques de datos que muestren un registro (bloque Single-Record) o varios a la vez (bloque multirecord). Generalmente, se crea un bloque de datos Single-Record para mostrar los datos del bloque maestro y un bloque de datos Multirecord para mostrar los datos del bloque detalle. En ambos casos, los registros de los bloquez de datos que actualmente no están visibles en la pantalla se almacenan en el buffer del bloque.
______________________________________________________________________________________
Aplicaciones Multi-Bloque y Multi-Form.
Por lo general, una aplicación de Forms Builder consta de más de un bloque de datos.
Con varios bloques de datos, es posible:
• Separar el ciclo de navegación de un grupo de Items a otro.
• Asignar cada bloque de dato a una tabla de Base de Datos diferente (puede tener una tabla base por cada bloque de datos).
• Producir un Form Maestro-Detalle, con un bloque de datos maestro y los correspondientes bloques de datos detalle relacionados con el maestro.
Puede crear un módulo Form grande con muchos bloques de datos, o puede tener pequeños módulos Form sólo con los bloques de datos necesarios en cada uno.
Generalmente, las aplicaciones Form pequeñas suelen tener las siguientes características:
• Sus módulos Form se cargan sólo cuando sus Items son requeridos, conservando así memoria.
• Su mantenimiento puede ocurrir en un módulo Form por separado sin regenerar ni cargar los demás.
• Las formas pueden invocarse entre si, según sea necesario.
• Pueden ser Desarrolladas/Diseñadas en paralelo por diferentes miembros del equipo en diferentes componentes.
.
Algunos puntos a tener en cuenta al agrupar bloques de datos en una aplicación:
Bloques de Datos
en un mismo módulo Form.
|
Bloques de Datos
en diferentes módulos Form.
|
Los
bloques de datos pueden asociarse en relaciones Maestro-Detalle.
|
Los
bloques de datos no pueden ser asociados en relaciones
Maestro-Detalle.
|
La
navegación entre bloques puede ser manejada vía la funcionalidad por defecto.
|
La
navegación entre bloques de diferentes Forms es realizada lógicamente por
el Programador (Tenga en cuenta que la navegación con el mouse en Items
visibles, está siempre presente).
|
______________________________________________________________________________________
Las Jerarquías en un Módulo Form.
Como ya mencionamos, un módulo Form se compone de uno o más bloques. Un bloque de datos se basa en un objeto de Base de Datos (Tabla o Vista). Un bloque de datos puede contener tanto Items de datos como Items de control. Se pueden crear marcos (frames) para ordenar y/o agrupar Items de un bloque de datos. Cada Item debe aparecer (Si es visible) en un Canvas y cada Canvas debe aparecer en una ventana (Window). Un módulo Form puede tener uno o más Canvases y ventanas.
Utilizando Triggers, puede agregar funcionalidad al Form. Los Triggers se pueden escribir en diferentes niveles de un módulo Form. Las Unidades de Programa (Program Units) creadas por el usuario le permiten escribir código PL/SQL adicional a través de procedimientos, funciones y paquetes.
Puede crear una gran cantidad de tipos de objetos en un módulo Form, los cuales serán presentados en publicaciones futuras.
En la tabla siguiente presentamos algunos de los objetos disponibles en Form, tenga en cuenta que algunos objetos guardan relación con los demás, pero no siempre uno pertenece a otro.
Objeto
|
Descripción
|
Bloque
|
Unidad/Sección lógica de un Form; Pertenece al módulo
Form.
|
Item
|
Miembro de un Bloque de Datos (Los Items son
funcionalmente agrupados en Registros).
|
Canvas
|
Superficie donde se organizan los objetos visuales; Pertenece
al módulo Form; Puede contener textos y gráficas (información con
la cual, el usuario no puede interactuar).
|
Window
|
Su función es contener las vistas de los Canvases; Pertenece
al módulo Form.
|
Frame
|
Objeto gráfico visible en los Canvas, Pertenece al Canvas,
es usado para organizar los Items de un Bloque.
|
User-named Program Unit
|
Subprograma: Procedimiento, Función o Paquete que
pertenece al módulo Form.
|
Trigger
|
Bloque de código PL/SQL ejecutado en un evento;
Dependiendo de su alcance, puede pertenecer al Módulo Form, a un Bloque de
Datos o a un Item.
|
Other objects
|
En su mayoría pertenecen al Módulo Form; Incluye
Alertas, Parámetros y Record Groups.
|
Personalizando la Sesión de Forms Builder.
Puede utilizar las preferencias para personalizar algunos aspectos de su sesión de Forms Builder.
Preferencias de Forms Builder:
Hay cuatro Pestañas (Tabs) en el cuadro de diálogo Preferencias (Preferences). Para ver las descripciones de cada preferencia, haga clic en Ayuda (Help) en el cuadro de diálogo Preferencias o presione la tecla Ayuda ([F1].
Además de las preferencias de sesión, también puede establecer configuraciones en tiempo de ejecución que se aplican al ejecutar el Form desde el Builder.
Para modificar las preferencias:
1. Seleccione Edit>Preferences.
2. Especifique/cambie las opciones que necesite.
3. Haga clic en Aceptar (Ok) para guardar o en Cancel para cancelar los cambios.
La siguiente tabla describe brevemente las Pestañas:
Tab
|
Preferencia
|
Descripción
|
General
|
Se ejecuta antes de Ejecutar
|
Determina
si Forms Builder compila automáticamente el módulo activo al ejecutar un Form.
Esta opción le evita tener que emitir comandos de compilación y ejecución
separados cada vez que modifica y ejecuta un Form.
|
Subclass
|
Ruta de subclase
|
Opciones para mantener o
eliminar la ruta de subclase
|
Asistentes
(Wizards)
|
Welcome Dialog
|
Casilla de verificación para
suprimir o mostrar el primer cuadro de diálogo de bienvenida. Hay varias casillas de verificación
similares.
|
Ejecución
(Runtime)
|
Matriz de Procesamiento
|
Determina si Forms Builder
procesa grupos de registros a la vez, reduciendo el tráfico de red y
aumentando el rendimiento.
|
Ejecutables Form Developer.
Forms Builder incluye dos ejecutables (componentes) a los que puede acceder como diseñador de aplicaciones.
Forms Builder.
Este es el componente de desarrollo/creación de aplicaciones de Oracle Forms Developer. Puede utilizar Forms Builder para diseñar y almacenar las definiciones de Forms, menús y bibliotecas. En el mismo Forms Builder, puede invocar el otro componente, el Forms Compiler. Debe ejecutar el componente Forms Builder en un entorno GUI para utilizar sus herramientas de diseño gráfico.
Forms Compiler.
Una vez creado el Form, utilice el Forms Compiler. Esto lee la definición de su módulo Form y crea un archivo ejecutable.
Invocando ejecutables de Form Builder.
En un entorno GUI, usualmente se almacenan comandos que invocan componentes de Forms Builder en menús y ventanas para un acceso rápido. También puede introducirlos en la línea de comandos.
Forms Services.
Dado que las aplicaciones de Form están orientadas a la Web, no es posible ejecutarlas directamente desde la línea de comandos. Se invocan especificando la URL en un navegador o mediante un visor applet, dirigido a Servicios Forms.
Los archivos utilizados en tiempo de ejecución deben haber sido compilados previamente por el Forms Compiler. Estos archivos deben residir en la máquina de nivel medio en un directorio donde Forms Runtime Engine tenga acceso (regedit FORMS90_PATH).
Para probar sus aplicaciones, puede acceder a Forms Services directamente desde Forms Builder estableciendo ciertas preferencias.
Tipos de Módulos Forms Developer.
Una aplicación Forms puede consistir de módulos, es decir, varios archivos. Un módulo Form es un componente importante de su aplicación, y el mismo posee el resto de los objetos en el sistema.
Tipos:
Form: Como componente principal de una aplicación, el módulo Form presenta los datos y objetos con los que el usuario puede interactuar. Los elementos de datos en un Form se organizan en registros.
Menú: Un módulo de menú puede consistir en una jerarquía de menús, cada uno con elementos seleccionables.
Librerías de PL/SQL: Es una colección de unidades de programas PL/SQL cuyo código puede ser referenciado y invocados desde otros módulos.
Librerías de Objetos: Es una colección de objetos Form que puede utilizar en otros módulos. Puede crearlo para almacenar, mantener y distribuir objetos estándar que pueden reutilizarse en toda la organización de desarrollo.
Tipos de Módulos Forms Builder.
Forms Builder proporciona el menú predeterminado para cada Form. El menú predeterminado incluye comandos para todas las operaciones básicas de una Base de Datos, como insertar, eliminar, consultar, etc. Si su aplicación tiene requisitos específicos que no se cumplen con el menú predeterminado, puede crear un módulo de menú personalizado. Los módulos de menú no son funcionales por sí mismos, osea, tienen funcionalidad cuando están adjuntos a módulos Forms.
Las Librerías de PL/SQL pueden contener unidades de programa (Program Units) que pueden ser utilizadas por otros módulos Forms y Menús.
Puede crear una aplicación de varios módulos Forms, módulos de Menús y Librerías, según sea necesario.
______________________________________________________________________________________
Variables de Entorno de Oracle Developer.
Oracle Forms Developer usa muchas variables de entorno las cuales tienen valores predeterminados pero que pueden ser modificadas en su propio entorno (Instancia) por diferentes aplicaciones.
Cambiando Rutas en Tiempo de Ejecución.
Forms utiliza algunas variables de entorno establecidas en la máquina de nivel intermedio para buscar archivos como Forms, Menús y Librerías en tiempo de ejecución. Esto le permite crear aplicaciones portátiles a través de plataformas y estructuras de directorios, evitando rutas codificadas en las referencias de los archivos.
Forms busca las siguientes rutas en orden hasta que se encuentra el archivo requerido:
1. En el directorio de trabajo actual.
2. En los directorios FORMS90_PATH.
3. En los directorios ORACLE_PATH.
Nota: Aunque puede establecer estas variables a nivel de máquina, como en el Registro de Windows (regedit), es preferible establecerlas en el archivo de entorno Forms. La configuración de este archivo reemplaza la configuración del sistema al ejecutar una aplicación Forms.
Definiendo el Entorno en Tiempo de Diseño (Design Time).
Las variables de entorno en tiempo de diseño ayudan a gobernar el comportamiento de Forms Builder. Estas variables deben configurarse en la máquina donde está instalado Oracle Developer Suite. En plataformas Windows son configuradas en el Registro de Windows.
Archivos de Clase Java: Forms Builder necesita acceso a ciertas clases Java para algunas de sus características, como la Ayuda, el depurador (Debugger) y el importador Java. Se establece FORMS90_BUILDER_CLASSPATH para que Forms Builder pueda encontrar las clases Java que necesita durante el desarrollo y la prueba de una aplicación.
Archivos de Iconos: Forms Builder le permite crear botones con imágenes icónicas. Puede utilizar imágenes .ico, .gif o .jpg. Se establece UI_ICON con la ruta del directorio donde se encuentran estas imágenes. De igual manera se establece la variable de entorno UI_ICON_EXTENSION para decirle a Forms Builder qué tipo de imagen mostrar en los botones. Los valores válidos son ico (el valor predeterminado), gif o jpg.
Nota: Aunque puede utilizar imágenes .ico para mostrar en los botones icónicos dentro de Forms Builder, dichas imágenes no se mostrarán al ejecutar el Form- use .gif o .jpg para los iconos desplegados.
Las Fechas en Oracle Forms Developer.
Las fechas en las aplicaciones Oracle Forms Developer pueden provenir de varias fuentes:
• Desde la Base de Datos.
• Establecida por el Usuario Final.
• Definida en la Aplicación como tal.
Máscaras para el Formato de Fecha.
Además de las máscaras que un desarrollador puede definir explícitamente, Forms Builder utiliza varias de sus propias máscaras internas. Los valores de estas máscaras internas se pueden especificar con valores de propiedades y variables de entorno.
Para eliminar posibles errores causados por el año 2000 (Y2K), puede establecer variables de entorno que Forms Builder utiliza para formatear elementos de fecha:
• Máscara de formato de Fecha de Base de Datos: Cada sesión de Base de Datos dentro de una aplicación Forms tiene una máscara fecha de Base de Datos única. El parámetro de inicialización del servidor Oracle establece un valor predeterminado para esta máscara. Puede sobreescribir este valor en cada nueva sesión de Base de Datos para un cliente determinado estableciendo la variable de entorno NLS_DATE_FORMAT del cliente.
• Formato Fecha de Entrada: Esta máscara (potencialmente, un conjunto de máscaras) se utiliza para convertir una cadena introducida por el usuario a un valor de Fecha (formato nativo). Puede configurar las variables de entorno FORMS90_USER_DATE_FORMAT o FORMS90_USER_DATETIME_FORMAT para especificar estas máscaras de formato. Por ejemplo, puede establecer FORMS90_USER_DATE_FORMAT en el valor FXFMDD-MM-RRRR. Esto obligaría al usuario a introducir valores en formato: 30-06-97 en los Items de fecha. El token RRRR permite que se introduzcan años entre 1950 y 2049 con el siglo omitido.
• Formato Fecha de Salida: convierte las fechas mostradas en la salida: FORMS90_OUTPUT_DATE_FORMAT o FORMS90_OUTPUT_DATETIME_FORMAT.
• Formato de Fecha Error: Convierte las fechas mostradas en mensajes de error: FORMS90_ERROR_DATE_FORMAT o FORMS90_ERROR_DATETIME_FORMAT.
Modificando Variables de Entorno de Tiempo de Ejecución.
En un entorno Windows, utilice el Registro de Windows (regedit) para modificar estas rutas, a excepción de CLASSPATH, que se establece en la configuración del sistema del Panel de control. También puede anular estas configuraciones en tiempo de ejecución en el archivo que controla el entorno de ejecución Forms, que por defecto es el archivo default.env.
El uso del archivo de entorno Forms facilita el despliegue de aplicaciones en cualquier plataforma. Puede especificar cual archivo de entorno utilizar en un archivo de configuración de Forms formsweb.cfg (por defecto). En este archivo de configuración, puede establecer parámetros del sistema, como el nombre del archivo de control de entorno. También puede establecer parámetros para controlar qué Form ejecutar, el ID de usuario, aspectos del cliente Java y el archivo HTML que contiene el applet de Java, y muchas otras configuraciones.
______________________________________________________________________________________
Botón Execute Form.
El Botón de menú Execute Form (Ctrl+R) le permite ejecutar un módulo Form en un navegador Web desde Forms Builder. Esto facilita la prueba de su aplicación en un entorno de tres niveles, permitiéndole al Desarrollador probar la funcionalidad como lo haría un usuario final.
Debe definir algunas informaciones básicas para habilitar este entorno de prueba de tres niveles. La misma se define en Preferencias: Edit>Preferences, Tap Runtime, opción: URL del Servidor de Aplicaciones (Application Server URL): La dirección que indique debe ser una URL que apunte al Servlet Forms en el nivel intermedio. Tenga en cuenta que normalmente se encuentra en la misma máquina en la que ejecuta Forms Builder.
También puede usar el parámetro config para especificar una configuración X en el archivo de configuración de Forms Web (formsweb.cfg por defecto). Por ejemplo para la misma máquina donde se ejecuta el OC4J en el puerto predeterminado de 7001: http://localhost:7001/forms/frmservlet (11G). De igual forma en la opción Ubicación del Explorador Web (Web Browser Location): puede establecer el navegador en el cual desea ejecutar el Form.
Nota: La forma correcta de salir de una sesión de Form es mediante (File>Exit, o haciendo clic en Exit) y luego cerrar el navegador. Si cierra el explorador sin salir primero del Form, su sesión puede bloquearse.
______________________________________________________________________________________