Oracle developer forms – Entrega 1

Este es el primero de varios documentos que se adelantarán acerca de developer 10g para principiantes.  

Objetos de forms

La herramienta de desarrollo developer forms incluye diversos objetos para facilitar la interacción del usuario con los formularios, organizar la lógica condensándola en módulos, responder a diferentes eventos, validar el acceso a los formularios entre otros aspectos. Dentro de tales objetos se encuentran principalmente los ítems, lienzos, bloques, ventanas, alertas, triggers, unidades de programa, bibliotecas anexas, grupos de registros, listas de valores (LOVs), atributos visuales, menús emergentes  

Items  

Son todos aquellos elementos que pueden ser incorporados dentro de un formulario y que se comportan como un medio de edición, consulta de los datos. Dentro de éstos elementos se encuentran los cuadros de texto (TEXT_ITEM), etiquetas o labels, botones, cuadros de verificación, botones de opción, lista, estructura árbol, entre otras. La siguiente figura muestra las herramientas de oracle developer 10g.

Bloques basados en tablas

Los bloques son conjunto de elementos o ítems y que principalmente hacen referencia a los atributos de una tabla. Sin embargo, pueden existir elementos de un bloque que no se traducen en atributos de la tabla. Cada bloque tiene comportamientos diferentes dependiendo de los eventos que se disparen; por lo tanto cada bloque tiene sus propios disparadores o triggers. Para crear un bloque basta sólo con ubicarse en la opción bloques de datos y luego cliquear el botón . De igual manera, para eliminar el bloque basta con seleccionar el bloque que se desea eliminar y luego . Si desea crear un bloque basado en una tabla, puede usar el asistente, el cual le preguntará por la tabla o vista a incluir y los atributos que desee incluir. Por defecto, los bloques aparecen en tiempo de ejecución, según el orden que presenten dentro de la lista de bloques del navegador de objetos , y dentro de cada bloque por defecto, el orden de tabulación está dado por el orden en la lista de ítems según el navegador de objetos igualmente.   

Canvas o lienzos

Las canvas o lienzos son los contenedores de los bloques. Son los diseños de las pantallas y es en éstos donde se organiza la disposición de los botones, cuadros, y demás controles como serán vistos por el usuario. Dentro de un lienzo se pueden colocar varios bloques, no hay un limite.  

Ejemplo para crear un bloque de datos:  

(Primero se creará una pequeña estructura para el ejemplo-por supuesto, utilizar el sqlplus para ejecutar los siguientes scripts)  

SQL> create table alumno (id number primary key, nombre varchar2(25), apellido varchar2(25), lugar_nacimiento number, fecha_nacimiento date);
SQL> create table materia (id_materia number, nombre_materia varchar2(40));
SQL> create table lugar ( id_lugar number, nombre_lugar varchar2(30));
SQL> create table inscripcion (id_alumno number, id_materia number);
SQL> alter table inscripcion add constraint INS_PK_ALUMAT PRIMARY KEY (id_alumno,id_materia);

Y para poblar las tablas los siguientes scripts:

–tabla alumno
insert into alumno values(1,’juan’,’perez’,1,’01/01/1990′);
insert into alumno values(2,’luis’,’rojas’,1,’12/10/1989′);
insert into alumno values(3,’sandra’,’castro’,2,’02/02/1988′);
insert into alumno values(4,’felipe’,’suarez’,3,’25/05/1991′);
insert into alumno values(5,’freddy’,’lopez’,2,’20/08/1975′);
insert into alumno values(6,’milton’,’rojas’,3,’20/04/1980′);
–tabla materia
insert into materia values(1,’matematicas’);
insert into materia values(2,’español’);
insert into materia values(3,’ciencias’);
insert into materia values(4,’etica’);
insert into materia values(5,’computadores’);
–tabla lugar
insert into lugar values(1,’Bogota’);
insert into lugar values(2,’Cali’);
insert into lugar values(3,’Medellin’);
insert into lugar values(4,’Cartagena’);
insert into lugar values(5,’Pasto’);

Una vez ha sido creada la estructura, ingresar a la herramienta developer forms y validarse con el usuario en el que se creó la estructura anterior (menú archivo/conectar) Por defecto aparece un modulo llamado MODULE1. Como se mencionó en un párrafo anterior, se procede a crear un bloque de datos seleccionando en el navegador de objetos la opción bloque de datos y luego el botón +.   Seleccionando la opción “usar el asistente de bloques de datos”, se procede a seleccionar la tabla alumno (por defecto se muestran las tablas del usuario que está conectado; sin embargo se pueden seleccionar tablas de otros esquemas)

Luego se asigna el nombre para el bloque, generalmente este nombre está relacionado con la tabla que “simboliza” 

Una vez se ha creado el bloque, el asistente le solicita elegir entre crear adicionalmente el lienzo o no crearlo. Si elige crear el lienzo, éste le dará la posibilidad de seleccionar entre lienzo de contenido, lienzo con separadores (apropiado cuando se necesita visualizar bastantes detalles de una tabla maestra). De igual manera le permite determinar el numero de registros que aparecen por bloque. Es importante tener en cuenta que si ud elige mostrar mas de un registro (en otros términos sería como una grilla), los ítems adicionales que se agreguen a ese bloque se repetirán por cada registro que se muestra. Por ejemplo si se decide mostrar 5 registros y se necesita en ese mismo lienzo colocar botones de comando, será necesario agregar un bloque manualmente (sin asistente) y en este nuevo bloque agregar los botones necesarios

Tomando del cuadro de herramientas el control botón, señalar en el lienzo el sitio donde será ubicado.  

Ahora el navegador de objetos se verá así:

    y al ejecutar la forma se verá

Listo, es sencillo crear un bloque y lienzo para ese bloque  

Los archivos fuente de formularios, que origina oracle tienen la extensión .fmb, pero para que se puedan ejecutar o correr se debe crear el archivo ejecutable .fmx. Esta tarea la hace automáticamente la herramienta cuando se indica la opción ejecutar formulario. 

El navegador de objetos

Como se puede ver, el navegador de objetos es una estructura similar a un árbol, desde la cual se tiene acceso a todos los objetos del formulario(bloques, alertas, lienzos, ventanas,…). Para agregar o quitar un objeto se procede de manera similar a como se hizo cuando se agregó el bloque. Basta con ubicarse en el objeto que se desea agregar y luego seleccionar el botón “+” para agregar o “-” para eliminar el objeto. Desde el navegador de objetos se puede invocar la paleta de diseño(para lienzos), el editor de código plsql y asistentes adicionales dependiendo del objeto desde el cual se invoque.

El navegador de objetos permite visualizar los archivos de formas, menus y librerías en edición agrupados. Pero además permite visualizar y editar los objetos de la bse de datos; esto es, procedimientos, funciones, tablas, vistas, packages,…. La posibilidad de alterar alguno de estos objetos de la bd está sujeta a los permisos que se tengan sobre los mismos.

Dentro e las operaciones que se pueden llevar a cabo en el navegador de objetos están: expandir y contraer nodos para buscar elementos rápidamente, seleccionar objetos, crear y borra objetos, copiar y mover objetos dentro del modulo o entre módulos, localizar el código asociado con los objetos como triggers y unidades de programa.

De igual manera se puede acceder a las propiedades de cada objeto haciendo clic derecho sobre éste y luego seleccionar delmenú emergente la opción paleta de propiedades.

Arturo Tocarruncho

Leave a Reply