44284407 Forms 6i Avanzado

download 44284407 Forms 6i Avanzado

of 29

Transcript of 44284407 Forms 6i Avanzado

DEVELOPER 2000

FORMS 6i AVANZADO

INDICE1. Mens ..................................................................................................................... 2 1.1. Creacin de mens desde Form ...................................................................... 2 1.1.1. Componentes de los mdulos de men ................................................. 2 1.1.2. El editor de men ................................................................................... 3 1.1.3. Creacin de un men ............................................................................. 4 1.2. Tipos de elementos en un men ...................................................................... 5 1.3. Propiedades de los elementos de men .......................................................... 5 1.4. Asociar cdigo PL/SQL a un elemento de men .............................................. 6 1.5. Asociar un men a un form .............................................................................. 6 2. Mens desplegables ............................................................................................... 7 2.1. Mens desplegables asociados al botn derecho del ratn ............................. 7 2.2. Dnde se puede definir un men desplegable? ............................................. 7 3. Llamada a un mdulo formulario desde otro mdulo. .............................................. 8 3.1. Llamada a mdulos formularios desde otro mdulo. ........................................ 8 3.2. Parmetros y paso de parmetros entre forms ................................................ 9 3.3. Start-up Code .................................................................................................. 9 4. Bibliotecas de PL/SQL .......................................................................................... 11 4.1. Qu es una biblioteca de PL/SQL? .............................................................. 11 4.2. Creacin de una biblioteca PL/SQL ............................................................... 11 4.3. Bibliotecas de PL/SQL frente a unidades de programa definidas en forms .... 11 4.4. Incorporacin de bibliotecas a un formulario .................................................. 12 5. Otros elementos de forms ..................................................................................... 13 5.1. Referencia...................................................................................................... 13 5.2. Clases y subclases ........................................................................................ 13 5.3. Clases de propiedades .................................................................................. 13 5.4. Atributos visuales ........................................................................................... 16 6. Bibliotecas de objetos reutilizables........................................................................ 17 6.1. Qu es una biblioteca de objetos reutilizables? ........................................... 17 6.2. Creacin de una biblioteca y sus pestaas .................................................... 17 6.3. Aadir objetos a una biblioteca de objetos ..................................................... 17 6.4. Objeto de tipo SmartClass ............................................................................. 18 6.5. La biblioteca de objetos como sistema de reutilizacin de objetos, estandarizacin, homogeneizacin de las aplicaciones y disminucin del tamao de las fuentes. ................................................................................... 18 6.6. Bibliotecas de objetos reutilizables frente a grupos de objetos. ...................... 19 6.7. Cmo se referencian los elementos de una biblioteca. Arrastra y usa............ 19 7. Depurador ............................................................................................................. 20 7.1. La Depuracin................................................................................................ 20 7.2. Acciones de Depuracin ................................................................................ 20 7.2.1. Creacin de acciones de Depuracin ................................................... 21 8. Optimizar para funcionar mejor ............................................................................ 25 8.1. Consultar todos los registros cuando sea conveniente .................................. 25 8.2. Array DML (Disminuir los Round-Trips) ......................................................... 25 8.3. Tipos de fuentes de datos ............................................................................. 25 8.3.1. Tabla .................................................................................................... 25 8.3.2. Clusula FROM de una consulta.......................................................... 25 8.3.3. Procedimientos almacenados .............................................................. 25 8.3.4. Disparador transaccional...................................................................... 26 9. Forms Server ........................................................................................................ 27 9.1. Arquitectura Cliente/Servidor ......................................................................... 27 9.2. Arquitectura basada en Web .......................................................................... 28Curso de Forms 6i Avanzado Pagina 1 de 28

1. Mens 1.1. Creacin de mens desde Form 1.1.1. Componentes de los mdulos de men Un mdulo de men es un tipo de mdulo de Oracle Forms que incluye los siguientes tipos de objetos: El propio mdulo de men. Es un mdulo estructurado de forma jerrquica que proporciona un mtodo rpido y sencillo para operar en la aplicacin de Oracle Forms. Como el mdulo formulario, el mdulo de men es uno de los componentes principales de una aplicacin. Cada mdulo de men contiene uno o ms mens. Mens Es una lista de opciones relacionadas. Cada opcin realiza una accin diferente. Se pueden crear tres tipos de mens en Oracle Forms: Men principal Es un men que aparece de forma horizontal en la barra de men. Contiene opciones que a su vez son mens individuales. Men individual Un men presentado verticalmente. Submen Es un men presentado verticalmente y a la derecha de la opcin del men que lo ha llamado.

-

-

Cada men contiene uno o ms items de mens. Items de mens (Elementos de men) Es una opcin que se puede elegir de un men. Cada opcin dispone de un comando asociado que permite a un usuario realizar una accin.

Existe un men especial, denominado el men por defecto, que est incorporado en cada mdulo de forma. El men por defecto incluye comandos estndar para la edicin, navegacin y comunicacin con la base de datos, como Action Save. Al construir un mdulo de forma, el men por defecto se utiliza automticamente. No obstante, se puede construir un mdulo de men personalizado y remplazar el men por defecto.

Curso de Forms 6i Avanzado

Pagina 2 de 28

1.1.2. El editor de men El editor de mens es una facilidad de diseo grfico para presentar, modificar y presentar mdulos de men y sus objetos. El editor de men se utiliza para disear mens. Hay dos modos de abrir el editor de mens: Hacer doble clic sobre el icono de la izquierda del campo de entrada para mdulos de men en el Navegador de Objetos. Seleccionar Tools Menu Editor.

El editor de mens posee una barra de herramientas, de las cuales muchas son conocidas, pero existen algunas especficas, como son: Display Menu (visualizar men): Determina de qu men se quieren presentar las opciones de men. Se selecciona entre todos los mens que proporciona el mdulo de mens. Create Down (crear verticalmente): Crea una nueva opcin de men debajo del men activo. Create Right (crear horizontalmente): Crea una nueva opcin de men a la derecha del men activo.

-

-

Curso de Forms 6i Avanzado

Pagina 3 de 28

1.1.3. Creacin de un men Los pasos para crear un men son los que se detallan a continuacin. Primero, se crea el mdulo de men. Para ello, hay varias formas: Elegir File New Menu, En el Navegador, seleccionar el nodo Menus y hacer clic sobre el icono Create en la barra de herramientas.

El siguiente paso es crear los mens y los items de mens. Estos se pueden crear usando el Navegador, o en el Editor de men. a) Crear un men principal Este tipo de men es visualizado como una barra de men horizontal. Para crearlo se hace lo siguiente: 1. Se elige Tools Menu Editor. El editor de men se abre mostrando un nuevo men llamado MENU1, con un nuevo item etiquetado . 2. Se escribe una etiqueta de men para reemplazar la etiqueta por defecto del item anterior. 3. Se elige Menu Create Right para aadir un nuevo item al men principal, o se hace clic sobre el icono Create Right. Se crea un nuevo item que debe ser etiquetado. Una vez que el men principal est completo, se crean los mens individuales, lo que significa crear los items de men del men. Para cada item padre del men principal, se crea una lista de items de men hijos relacionados. b) Crear mens individuales Estos son presentados verticalmente y se crean como se describe, a continuacin: 1. En el men principal se elige uno de sus items, por ejemplo, uno llamado Action. 2. Se elige Menu Create Down y se aade un nuevo item al men Action. Se crea un nuevo item de men al que hay que colocar una etiqueta. Siguiendo estos pasos se crean los items de men que se deseen. Los items de men pueden llamar a submens, que son visualizados a la derecha del item de men. c) Creacin de submens Para crear un submen: 1. Se selecciona el men individual.

Curso de Forms 6i Avanzado

Pagina 4 de 28

2. Se elige Menu Create Right para aadir el nuevo elemento al submen. Se crea un item de submen, , al que hay que colocar una etiqueta significativa. 3. Luego, se elige Menu Create Down para aadir un nuevo item. Esta operacin se repite hasta que el submen quede completado. 1.2. Tipos de elementos en un men En un men, los items de men pueden ser de varios tipos: Normal (Plain) Este es el tipo de elemento de men por defecto. Comprobar (Check) Indica un elemento de men de tipo Boolean, que es TRUE o FALSE, verificado o no verificado. Cuando el usuario selecciona un item de men de este tipo cambia el estado de ese item y ejecuta el comando que tiene asociado, si tiene uno. Radio Indica un elemento de men de tipo Boolean, que es parte de un grupo de radio de men. Un grupo contiene dos o ms elementos de radio relacionados. Cada vez, un solo item de radio puede estar seleccionado en un grupo Para asignar un item de radio a un grupo, se introduce el nombre del grupo en la propiedad Menu Item Radio Group del elemento. Separador Un separador es una lnea u otro elemento visual. Son tiles para separar items de men relacionados en un mismo men. Un separador no puede ser seleccionado y, por tanto, no puede tener un comando asociado con l. Men (Magic) Este tipo de elementos de men proporciona una manera de crear rpidamente items de men para funciones tpicas. Con estos items, se pueden definir los siguientes tipos de funciones: About, Copy, Clear, Cut, Paste, Help, Quit, Undo, and Window.

1.3. Propiedades de los elementos de men Algunas propiedades especficas de los items de men son las siguientes: Label (Etiqueta): Especifica el texto que aparece en el elemento de men. Menu Item Type (Tipo de opcin de men): Determina cmo se presenta esta opcin de men. Se elige entre Plain, Check, Radio, Separator y Magic. Menu Item Radio Group (Opcin de men de grupo de radio): Determina a qu grupo de radio pertenece el elemento de men. Magic Item (Item mgico): Especifica cul de las opciones de men predefinidas se debe utilizar en los mens personalizados.

-

-

Curso de Forms 6i Avanzado

Pagina 5 de 28

-

Command Type (Tipo de comando): Determina el tipo de comando asociado a esta opcin. Se opta entre Null, PL/SQL o Menu. Command Text (Texto de comando): Especifica el comando que invoca el elemento de men. Keyboard accelerator (Tecla de acceso): Determina qu tecla de funcin lgica est asociada con el item de men. Icon In Menu (Icono en men): Especifica si un icono debe ser presentado en el men adems del elemento de men. Si se selecciona Yes, la propiedad Icon Filename debe especificar el icono que se visualizar. Icon Filename (Nombre de icono): Especifica el nombre del icono que se presenta en la opcin de men.

-

-

-

-

1.4. Asociar cdigo PL/SQL a un elemento de men La mayora de los tems de men ejecutan comandos PL/SQL. Para asignar comandos a un elemento de men, se hace lo siguiente: 1. Se selecciona el tem de men deseado en el editor de men. 2. En la paleta de propiedades, se comprueba que la propiedad Command Type del tem tenga el valor PL/SQL. 3. Se hace doble clic en la propiedad Command Text para visualizar el editor de PL/SQL. 4. En el editor de PL/SQL, se escribe el cdigo PL/SQL. 5. Se compila el cdigo. 6. Se cierra el editor PL/SQL. 1.5. Asociar un men a un form Para asociar un mdulo de men a un formulario se debe generar el mdulo de men, establecer el valor de la propiedad Menu Module del formulario y generar el formulario. En primer lugar, hay que hacer del mdulo de men el mdulo actual y guardarlo, ya sea en la base de datos o en un fichero. Esto se realiza mediante las opciones File Save o File Save As. Los mdulos de men se almacenan en un fichero de extensin (.MMB). Una vez salvado el mdulo, mediante la opcin File Administration Compile File, se genera el mdulo de men. As, se crea un fichero ejecutable de extensin (.MMX), que se almacena en el sistema de ficheros. A continuacin, se selecciona el mdulo formulario en el Navegador de Objetos y, en su paleta de propiedades, se crea la propiedad del formulario Menu Module al nombre del fichero ejecutable que se gener anteriormente. Se comprueba, tambin, que la propiedad Use File sea TRUE. Por ltimo, con la opcin File Administration Compile, se genera el fichero ejecutable del mdulo formulario. Este paso no hay que realizarlo explcitamente, pues este fichero ejecutable se genera automticamente al ejecutar el formulario.

Curso de Forms 6i Avanzado

Pagina 6 de 28

2. Mens desplegables 2.1. Mens desplegables asociados al botn derecho del ratn Los mens desplegables son mens sensitivos al contexto qu permiten a los usuarios acceder rpidamente a funciones y comandos comunes. Son objetos de alto nivel en el Navegador de Objetos, similares a los bloques, alertas, canvases, etc., y que pertenecen al mdulo formulario. 2.2. Dnde se puede definir un men desplegable? Los mens desplegables se definen para ser atados a los items del formulario y a los canvases. La relacin entre mens deplegables y los items y canvases, es similar a la relacin entre los formularios y los mens de formularios: Se puede atar un men desplegable a uno o ms canvas e items. Cada canvas e item puede soportar un nico men desplegable.

El men desplegable se visualiza cuando se coloca en foco de entrada sobre el item o el canvas y se invoca segn el estndar de su plataforma de ejecucin. En Microsoft Windows, por ejemplo, se invoca haciendo clic con el botn derecho del ratn. La esquina superior izquierda del men aparece en el punto del foco de entrada para que los usuarios puedan localizar y seleccionar los items del men fcil y rpidamente. Para crear un men desplegable se hace lo siguiente: 1. En el Navegador de Objetos, se hace clic sobre el nodo Popup Menus, y clic en el botn Create en la barra de herramientas. As, se genera un men desplegable y se le da el nombre por defecto MENU1. 2. En el Navegador de Objetos o en el Editor de Mens, se crea un men desplegable principal, los submens, si los hay, y los elementos del men. 3. Se asignan los comandos a los elementos de men. 4. Por ltimo, se ata el men desplegable a los items o los canvases adecuados. Para ello: 1. En el Navegador de Objetos, bajo el nodo Data Blocks o Canvases, se hace clic sobre el icono del objeto del item o del canvas correspondiente (o de ambos). 2. Se elige Tools Property Palette. 3. En la paleta de propiedades, se selecciona una opcin de la lista de men de la propiedad Popup Menu. Nota: Para atar simultneamente el mismo men desplegable a varios items y canvases, se seleccionan todos a la vez, antes de visualizar la paleta de propiedades.

Curso de Forms 6i Avanzado

Pagina 7 de 28

3. Llamada a un mdulo formulario desde otro mdulo. 3.1. Llamada a mdulos formularios desde otro mdulo. Se puede llamar a un mdulo formulario desde un mdulo distinto, mediante los subprogramas incorporados CALL_FORM y OPEN_FORM. a) El procedimiento CALL_FORM Este procedimiento ejecuta el formulario indicado mientras desactiva el formulario que lo llama. Cuando se finaliza en el formulario llamado, el proceso se reanuda en el formulario que lo llam, en el punto donde se inici la llamada a CALL_FORM. La sintaxis del procedimiento es: CALL_FORM (form_name, display, switch_menu, query_mode, paramlist) Los argumentos especficos de CALL_FORM son: form_name: Se trata del fichero que contiene el mdulo ejecutable (sin el .FMX). Se utiliza el nombre de la ruta que Oracle Forms proporciona por defecto para su sistema, al menos que se proporcione otro como parte de esta cadena de caracteres. display: Toma los valores HIDE (por defecto) o NO_HIDE. Determina si se debe ocultar el formulario que efecta la llamada, mientras que el formulario llamado se est ejecutando. switch_menu: Toma los valores NO_REPLACE (por defecto) o DO_REPLACE. Determina si el mdulo de men actual debe ser reemplazado con el men por defecto del formulario llamado. query_mode: Toma los valores NO_QUERY_ONLY (por defecto) o QUERY_ONLY. Determina si el mdulo formulario llamado slo se debe ejecutar en modo "Query Only". paramlist: Se trata del nombre, entre comillas, de una lista de parmetros. Este argumento es opcional y permite pasar los contenidos de una lista de parmetros especfica al formulario que se est abriendo. b) El procedimiento OPEN_FORM Se puede utilizar OPEN_FORM para vincular los mdulos formularios de una aplicacin y as permitir que un usuario trabaje en varios formularios simultneamente. Este procedimiento no se puede llamar en modo Enter Query. Su sintaxis es: OPEN_FORM (form_name, paramlist) activate_mode, session_mode,

Curso de Forms 6i Avanzado

Pagina 8 de 28

Sus argumentos son: form_name: Se trata del fichero que contiene el mdulo ejecutable (sin el .FMX). Se utiliza el nombre de la ruta que Oracle Forms proporciona por defecto para su sistema, al menos que se proporcione otro como parte de esta cadena de caracteres. activate_mode: ACTIVATE (por defecto), o NO_ACTIVATE session_mode: SESSION (por defecto), o NO_SESSION. paramlist: Se trata del nombre, entre comillas, de una lista de parmetros. Este argumento es opcional y permite pasar los contenidos de una lista de parmetros especfica al formulario que se est abriendo. 3.2. Parmetros y paso de parmetros entre forms Los parmetros proporcionan un mecanismo simple para definir y crear los valores de entrada que son requeridos por un formulario cuando comienza a ejecutarse. Los parmetros son variables de tipo CHAR, NUMBER, o DATE que se definen en tiempo de diseo. Cuando se crea un parmetro, se especifica su nombre, tipo de dato, longitud y valor por defecto. Se crea del siguiente modo: 1. Se selecciona el nodo Parameters en el Navegador y despus se elige Navigator Create. 2. En la paleta de propiedades, se detallan las siguientes propiedades: Name (Nombre): Es el nombre interno del parmetro. Parameter Data Type (Tipo de Dato): Indica el tipo de datos del parmetro. Puede ser CHAR, NUMBER, o DATE. Parameter Initial Value (Valor inicial del parmetro): Indica el valor por defecto del parmetro. Debe ser compatible con el tipo del parmetro especificado en la propiedad Parameter Data Type y su longitud. Length (Longitud): Indica el nmero mximo de caracteres que el parmetro puede almacenar, en caso de que el parmetro sea de tipo CHAR.

-

-

Los parmetros se pueden pasar entre mdulos utilizando procedimientos incorporados como CALL_FORM y OPEN_FORM. 3.3. Start-up Code El cdigo Start-Up de un men se ejecuta cuando un men est siendo grabado en la memoria, al comenzar la ejecucin del formulario o como resultado

Curso de Forms 6i Avanzado

Pagina 9 de 28

de llamar a procedimientos incorporados como CALL_FORM. El cdigo es opcional y puede ser usado para realizar las siguientes tareas: Inicializar parmetros de sustitucin y variables globales. Programticamente, crear el estado de presentacin de los tems de men. Por ejemplo, habilitar o deshabilitar un tem de men o seleccionar un elemento de men de tipo Radio o Comprobar.

Para escribir el cdigo Start-Up para un men: 1. En el editor de Men o en el Navegador, se selecciona el mdulo de men correspondiente. 2. En la paleta de propiedades, seleccionar la propiedad Startup Code para invocar el editor PL/SQL. 3. Introducir y compilar el cdigo PL/SQL que se pretende ejecutar. Escribir el cdigo Start-Up es similar a escribir un trigger, y puede incluir bloques annimos y llamadas a subprogramas incorporados.

Curso de Forms 6i Avanzado

Pagina 10 de 28

4. Bibliotecas de PL/SQL 4.1. Qu es una biblioteca de PL/SQL? Una biblioteca de PL/SQL es una coleccin de subprogramas, que incluye procedimientos, funciones y paquetes definidos por el usuario. Proporcionan un buen modo de almacenar unidades de programa y de compartirlas entre mltiples aplicaciones. Una vez que se crea la biblioteca, se puede asociar a cualquier mdulo, ya sea formulario, men u otra biblioteca. Despus, se pueden llamar sus unidades de programa desde triggers o comandos de elementos de men. La misma biblioteca puede ser asociada a mltiples formularios y mdulos. Igualmente, un nico formulario o men puede tener asociada ms de una biblioteca. Tambin, las bibliotecas pueden ser atadas a otras bibliotecas. Cuando esto ocurre, las unidades de programa en la primera biblioteca pueden hacer referencia a las unidades de programa de la biblioteca asociada. 4.2. Creacin de una biblioteca PL/SQL Estos son los pasos que hay que seguir para crear una biblioteca PL/SQL: 1. Para crear el mdulo, se elige File New PL/SQL Library, o, en el Navegador, se selecciona el nodo PL/SQL Libraries y, a continuacin, se elige Navigator Create. 2. Para crear una unidad de programa, se expande el nodo de la biblioteca deseada, se selecciona el nodo Program Units, y despus se elige Navigator Create. As, aparecer la ventana de dilogo New Program Unit. 3. Se especifica el nombre de la unidad de programa y su tipo (Procedure, Function, Package Spec, or Package Body). Luego, se elige OK y aparece el editor PL/SQL. 4. En el editor PL/SQL, se define la unidad de programa y se elige Compile para compilar y aplicar las modificaciones. Para terminar, se cierra el editor eligiendo Close. Si se selecciona Program Compile All para compilar todas las unidades de programa de la biblioteca. 5. Por ltimo, se selecciona File->Save para guardar el mdulo biblioteca que se ha creado en un fichero o en la base de datos. El fichero que se genera al guardar un mdulo biblioteca tiene la extensin (.PLL). A partir de ste, se genera el fichero ejecutable con extensin (.PLX). 4.3. Bibliotecas de PL/SQL frente a las unidades de programas definidas en forms Una vez que se crea una biblioteca y se une al mdulo deseado, se pueden llamar las unidades de programa de la biblioteca desde ese mdulo usando la misma sintaxis que se utilizara si la unidad de programa estuviera definida localmente. Cuando Oracle Forms encuentra una llamada a una unidad de programa, primero la busca en el mdulo actual, y despus en las bibliotecas asociadas. Cuando un mdulo se une con ms de una biblioteca, se puede especificar el

Curso de Forms 6i Avanzado

Pagina 11 de 28

orden de bsqueda por defecto mediante el orden de colocacin de las bibliotecas en el Navegador de Objetos. 4.4. Incorporacin de bibliotecas a un formulario Despus de almacenar un mdulo biblioteca en un fichero del sistema o en la base de datos, se puede atar a cualquier mdulo, ya sea de tipo formulario, men o biblioteca. Para asociar una biblioteca a un mdulo, se hace lo siguiente: 1. En el Navegador, se abre el mdulo deseado, formulario, men o biblioteca. 2. Se expande el nodo del mdulo, se selecciona el nodo Attached Libraries y, seguidamente, se elige la opcin Navigator Create. Entonces, aparece el dilogo Attach Libraries 3. En l, se especifica el nombre de la biblioteca que se va a asociar. 4. Se pregunta si se debe guardar el path de la biblioteca. Es mejor decir que no, ya que si se cambia de directorio la biblioteca, el form dejar de funcionar. 5. Para incorporar la asociacin de la biblioteca al mdulo en la definicin de ste, se almacenan los cambios hechos en el mdulo.

Las bibliotecas atadas son de slo-lectura, no se puede editar una biblioteca atada; nicamente se puede hacer referencia a las unidades de programa dentro de ella. Para editar un mdulo biblioteca, ste se debe abrir en el Navegador y usar el editor PL/SQL para modificar las unidades de programa.

Curso de Forms 6i Avanzado

Pagina 12 de 28

5. Otros elementos de forms 5.1. Referencia Referenciar te permite crear objetos que heredan su funcionalidad y apariencia de otros objetos. Es similar a copiarlo, excepto que el objeto de referencia resultante mantiene un enlace con su objeto fuente. Es una manera rpida de propagar un nico cambio de diseo a mltiples objetos. Cuando se cambia la definicin de un objeto fuente, cualquier objeto referenciado que hereda de l, es actualizado automticamente cuando se regenera el mdulo en el que reside. Cuando se referencia un objeto, tambin se referencia cualquier objeto propiedad del primero. Por ejemplo, si se referencia un bloque, el nuevo bloque incluye cualquier tem que pertenezca al bloque fuente, y cualquier disparador que estuviera atado al bloque fuente o sus tems. Si se copia un objeto referenciado, el objeto resultante es tambin un objeto referenciado. 5.2. Clases y subclases Una subclase es el objeto que se crea cuando se referencia un objeto. Para crear una subclase se hace lo siguiente: 1. Se abren los dos mdulos, el que contiene el objeto fuente y el mdulo en el que se va a crear la subclase. 2. En el Navegador, se arrastra el objeto, al que se va a hacer referencia, desde el mdulo fuente al nodo apropiado en el otro mdulo. 3. Aparece una alerta en la que se debe especificar si se desea copiar o crear una subclase. Se elige Subclass.

Las subclases se visualizan en el Navegador con un icono especial indicando su estado. 5.3. Clases de propiedades Una clase de propiedades es un objeto nombrado que contiene una lista de propiedades y sus valores. Una vez creada la clase de propiedades, se pueden basar otros objetos en ella. Un objeto basado en ella puede heredar los valores de cualquier propiedad en la clase que tenga sentido para el objeto.

Curso de Forms 6i Avanzado

Pagina 13 de 28

Puede haber cualquier nmero de propiedades en una clase de propiedades, y las propiedades en la clase pueden aplicarse a diferentes tipos de objetos. Por ejemplo, una clase de propiedades puede contener algunas propiedades que son comunes a todos los tipos de elementos, otras que slo se aplican a los elementos de texto y otras aplicadas nicamente a las casillas de seleccin (Check Box). Las clases de propiedades se utilizan para aumentar la productividad de una aplicacin. Se trata de definir valores estndar o valores utilizados con frecuencia para propiedades tpicas, y asociarlas con varios objetos de Oracle Forms. Las clases de propiedades permiten definir propiedades estndar no slo para un objeto especfico, sino para varios objetos a la vez. Esto aumenta la productividad, porque elimina el tiempo que se dedica a definir propiedades idnticas para varios objetos.

Para crear una clase de propiedades se cuenta con todas las propiedades de todos los objetos de Oracle Forms. Es el usuario quien elige las propiedades y los valores de una clase de propiedades. Para crear una clase de propiedades, se puede: Utilizar el icono "Create" del Navegador de Objetos, o Utilizar el icono "Create Property Class" (crear Clase de propiedades) de la paleta de propiedades.

a) Crear una clase de propiedades en el Navegador de Objetos 1. Hacer clic sobre el nodo "Property Class" (Clase de propiedades). 2. Hacer clic sobre el icono "Create". Aparecer un nuevo campo de entrada para la clase de propiedades.Curso de Forms 6i Avanzado Pagina 14 de 28

3. Aadir las propiedades requeridas y sus valores, utilizando el icono "Add Property" (aadir propiedad). b) Crear una clase de propiedades en la paleta de propiedades 1. Se hace clic sobre el objeto cuyas propiedades se quieren copiar a una clase de propiedades en el Navegador de Objetos. 2. Se abre la paleta de propiedades y se hace clic sobre el icono "Create Property Class". Aparecer una alerta de informacin. 3. Se utiliza el Navegador de Objetos para localizar la clase de propiedades, y cambiar su nombre. Una vez que se ha creado una clase de propiedades, se puede aadir una nueva propiedad haciendo clic sobre el icono "Add Property" y eligiendo una propiedad de la lista. A continuacin, se define un valor para la propiedad utilizando la paleta de propiedades. Las propiedades de una clase de propiedades se pueden borrar con el icono "Delete Property " (borrar propiedad). Despus que se ha creado una clase de propiedades y se le han aadido sus propiedades, se puede utilizar haciendo que un objeto la herede, tomando las propiedades de la clase de propiedades. Para heredar los valores de las propiedades de una clase de propiedad, los pasos son: 1. Hacer clic sobre el objeto que va a tomar las propiedades de la clase de propiedades. 2. Hacer doble clic sobre la propiedad Subclass Information en la paleta de propiedades. 3. En el dilogo que aparece, elegir a opcin Property Class. 4. En el campo Property Class Name, elegir la clase de propiedad deseada. El objeto tomar los valores de aquellas propiedades que existan en la clase de propiedades y tengan sentido para l.

Una propiedad heredada es una propiedad que toma su valor de una clase de propiedades que est asociada a un objeto. Una propiedad heredada aparecer con un smbolo de flecha delante de ellas.Curso de Forms 6i Avanzado Pagina 15 de 28

Una propiedad variante es una propiedad que no toma su valor de una clase de propiedades asociada a un objeto. Las propiedades variantes se presentan con una cruz roja, adems de la flecha. Una propiedad variante se puede convertir en una propiedad heredada, haciendo clic sobre el icono "Inherit Property" (heredar propiedad) en la paleta de propiedades. Una propiedad heredada se puede convertir en una propiedad variante, sencillamente, definiendo un nuevo valor para la propiedad y anulando el valor. 5.4. Atributos visuales Los atributos visuales son propiedades de fuente, color y patrn que se crean para los objetos de los formularios y los mens que aparecen en la interfaz de una aplicacin. Incluye los siguientes tipos de propiedades: Propiedades de Fuente: Font Name (Nombre de letra), Font Size (Tamao de letra), Font Style (Estilo de letra), Font Width (Anchura de letra) y Font Weight (Peso de letra). Propiedades de Color y Patrn: Foreground Color (Color de primer plano), Background Color (Color de Fondo), Fill Pattern (Patrn de relleno), White on Black (Blanco sobre negro).

-

Cada objeto de la interfaz tiene la propiedad Visual Attribute Group que determina cmo se derivan los valores de los atributos visuales individuales de los objetos. Esta propiedad puede ser establecida en: Default: Especifica que el objeto debe ser presentado con los valores de color, fuente y patrn por defecto del sistema actual. El nombre de un atributo visual nombrado, definido en el mismo mdulo. Indica que el objeto debe usar los valores de atributos definidos para el atributo visual nombrado. Un atributo visual nombrado es un objeto independiente que define un conjunto de valores de atributos visuales. Se pueden crear atributos visuales nombrados en mdulos formulario y de men, y despus aplicarlos a los objetos en esos mdulos. Cuando se aplica un atributo visual a un objeto, slo aquellos atributos que tienen sentido para ese objeto tienen efecto.

Curso de Forms 6i Avanzado

Pagina 16 de 28

6. Bibliotecas de objetos reutilizables 6.1. Qu es una biblioteca de objetos reutilizables? Una biblioteca de objetos reutilizables es una coleccin de objetos que pueden usarse para desarrollar aplicaciones. Su uso es la manera ms importante de estandarizacin disponible. 6.2. Creacin de una biblioteca y sus pestaas Para crear una nueva biblioteca de objetos se elige la opcin File Object Library. New

Una biblioteca de objetos est dividida en pestaas. Para crear una de ests pestaas, en el Navegador de Objetos, se hace clic en nodo Library Tabs para la biblioteca de objetos deseada, se selecciona el botn Create en la barra de herramientas y, por ltimo, se especifica el nombre de la nueva pestaa. Para visualizar una biblioteca de objetos se elige la opcin Tools Library. Object

Un mdulo del tipo Biblioteca de Objetos se almacena en un fichero con extensin (.OLB). 6.3. Aadir objetos a una biblioteca de objetos Sobre las pestaas de la biblioteca de objetos se crean los objetos reusables de la biblioteca. Para crear un objeto reutilizable en una biblioteca de objetos, una vez seleccionada la biblioteca deseada, en el Navegador de Objetos, se elige el elemento deseado y se arrastra sobre la pestaa de la biblioteca en la que se va a colocar.

Curso de Forms 6i Avanzado

Pagina 17 de 28

6.4. Objeto de tipo SmartClass Un SmartClass es un objeto especial que se crea en una biblioteca de objetos. Cuando se define un objeto como un SmartClass, se pueden crear objetos basados en ste arrastrndolo al Navegador de Objetos, o se puede aplicar el SmartClass a un objeto existente eligiendo SmartClasses en el men desplegable del elemento. Cuando se utiliza el segundo mtodo el nuevo objeto creado es una subclase, que hereda la funcionalidad y la apariencia del SmartClass. Para crear un SmartClass, se elige la opcin Tools Object Library para visualizar la biblioteca de objetos. En ella, se elige el objeto deseado y se selecciona la opcin de men Object SmartClass. 6.5. La biblioteca de objetos como sistema de reutilizacin de objetos, estandarizacin, homogeneizacin de las aplicaciones y disminucin del tamao de los fuentes. En cualquier entorno de desarrollo, siempre habr estndares y objetos comunes que se quiera poder reusarlos. La biblioteca de objetos proporciona un mtodo fcil de reusar los objetos y estndares obligados en la organizacin del desarrollo completo. La biblioteca de objetos se puede utilizar para: Crear, almacenar, mantener y distribuir estndares y objetos reutilizables. Crear rpidamente aplicaciones arrastrando y soltando objetos predefinidos al formulario.

Hay varias ventajas en la utilizacin de bibliotecas de objetos en el desarrollo de aplicaciones: Las bibliotecas de objetos son automticamente abiertas al comenzar Oracle Forms, haciendo inmediatamente a los objetos reusables accesibles. Se pueden asociar mltiples bibliotecas de objetos con una aplicacin. Otra ventaja de las bibliotecas son las SmartClasses, que se usan para convertir un objeto en objeto subclase de otro.

-

Antes de crear los estndares, se deben considerar las siguientes cuestiones: Antes de crear estndares propios, considera el uso de los estndares de la interfaz de usuario de Forms Developer. Usa la Biblioteca de Objetos como principal mecanismo para crear y reusar los objetos estndares. Tener cuidado al borrar los objetos fuentes; al borrar el objeto fuente se rompe el enlace con los objetos basados en l.

-

Cuando se van a crear estndares, se siguen los siguientes pasos: 1. Se definen los estndares.

Curso de Forms 6i Avanzado

Pagina 18 de 28

2. Se crean los objetos que conformarn los estndares. 3. Se almacenan los objetos estndares en la biblioteca de objetos. 4. Se distribuyen los estndares, a travs de un mdulo de tipo biblioteca de objetos, cuyo fichero tiene extensin (.OLB). 6.6. Bibliotecas de objetos reutilizables frente a grupos de objetos. Un grupo de objetos es un contenedor de objetos. Se definen cuando se desea empaquetar un conjunto de objetos relacionados para que se pueda hacer una copia o una subclase de ellos en otro mdulo. Los grupos de objetos proporcionan una forma de atar objetos dentro de bloques de construccin de alto nivel, que pueden ser usados en otras partes de la aplicacin y en proyectos de desarrollo posteriores. Se crean grupos de objetos en mdulos formularios y de men. Una vez que se crea un grupo de objetos, se le pueden aadir y borrar objetos como se desee. 6.7. Cmo se referencian los elementos de una biblioteca. Arrastrar y usar. Para utilizar un objeto de una biblioteca de objetos, se siguen los pasos siguientes: 1. En la biblioteca de objetos, se hace clic en el objeto deseado. 2. Se presiona Ctrl y se arrastra el objeto al mdulo y al nodo deseado. Se visualiza una ventana de dilogo en la que se pregunta si se desea copiar el objeto o crear una subclase basado en l. 3. Se hace clic en Subclass.

Curso de Forms 6i Avanzado

Pagina 19 de 28

7. Depurador 7.1. La Depuracin La depuracin de una aplicacin es un proceso iterativo en el que se identifican y corrigen los errores de una aplicacin, durante su ejecucin. Identificar y localizar rpidamente el cdigo que falla, es esencial para depurar con xito una aplicacin. Si no se puede localizar el cdigo errneo, se ejecuta la aplicacin con mensajes de depuracin. Al hacerlo, una alerta aparece cuando ocurre un evento que provoca que un trigger se ejecute. Cuando se ejecuta un formulario en modo depuracin, el Depurador aparece inicialmente, permitiendo crear acciones de depuracin. Despus que se cierra, se activar cuando se interrumpa la ejecucin o cuando se seleccione Help->Debug del men. Una sesin tpica del depurador se centra en el Navegador. Usndolo, se pueden inspeccionar y modificar las unidades de programa, los valores de los campos de formularios, etc.

7.2. Acciones de Depuracin Se puede depurar el cdigo de un formulario creando acciones de depuracin que permiten monitorizar e interrumpir la ejecucin de unidades de programa PL/SQL. Hay dos tipos de acciones de depuracin: breakpoints y triggers de depuracin. El tipo de accin de depuracin ms comn es el breakpoint. Los breakpoints suspenden la ejecucin antes de alcanzar una lnea de cdigo especfica de una unidad de programa, pasando el control al Depurador. En este punto, en el Depurador, se inspecciona y modifica el estado del programa. Una vez realizado, se reanuda la ejecucin con los comandos GO o STEP o se puede abortar la ejecucin con un RESET. Un trigger de depuracin asocia un bloque de cdigo PL/SQL con una lnea de cdigo especfica dentro de una unidad de programa. Por ejemplo, el trigger de depuracin que se muestra abajo establece un beakpoint condicional sobre la lnea 10 de un procedimiento, que ser alcanzado si la variable local NUMBER my_sal excede de 5000: PL/SQL>line 10 is +> IF Debug.Getn('my_sal') > 5000 THEN +> Raise Debug.Break;Curso de Forms 6i Avanzado Pagina 20 de 28

+> END IF;

7.2.1. Creacin de acciones de Depuracin Oracle Forms permite crear acciones de depuracin de tres maneras: Usando las opciones del men Break y Trigger Insertando acciones de depuracin en el rea del Navegador Introduciendo comandos en el rea del Intrprete.

Cuando se crea una accin de depuracin, se debe atar un breakpoint o un trigger a una lnea cdigo de una unidad de programa que sea ejecutable. Una lnea de cdigo es considerada ejecutable si contiene uno o ms instrucciones para las cuales el compilador PL/SQL genera cdigo. Por ejemplo, lneas de cdigo que contienen instrucciones de asignacin y llamadas a procedimientos son ejecutables, mientras que las lneas de cdigo que contienen comentarios, lneas en blancos, declaraciones o instrucciones NULL no lo son. a) Crear un breakpoint Se puede crear un breakpoint para suspender la ejecucin en una lnea de cdigo especfica de una unidad de programa, un trigger o un comando de tem de men. Cuando se encuentra un breakpoint, el control se pasa al Depurador. Para crear un breakpoint, se hace lo siguiente:

Curso de Forms 6i Avanzado

Pagina 21 de 28

1. En el Navegador, se selecciona la unidad de programa, trigger o comando de elemento de men deseado. El Depurador presenta tu seleccin en el rea Source. 2. En l, se selecciona la lnea a la que el breakpoint ser atado. 3. Se elige Debug->Break para invocar el dilogo Breakpoint. 4. Se selecciona la lnea deseada y despus se elige OK para crear un breakpoint en la lnea seleccionada.

5. Cuando se cierra la ventana inicial del depurador, se avanza a la ejecucin del form, hasta que se llegue (si se llega) al punto donde se haya definido el breakpoint. Se muestran los datos del form en ejecucin, pudindose ejecutar paso a paso, continuar hasta el siguiente breakpoint, etctera.

Curso de Forms 6i Avanzado

Pagina 22 de 28

b) Crear un trigger de depuracin Los triggers de depuracin permiten asociar cdigo PL/SQL a lneas de cdigo fuente, durante la ejecucin en modo depuracin. Este cdigo se ejecuta cada vez que se pasa por la lnea asociada al trigger. Los pasos para crear un trigger de depuracin son: 1. En el Navegador, se selecciona la unidad de programa, trigger o comando de tem de men deseado. El Depurador presenta tu seleccin en el rea Source. 2. En l, se selecciona la lnea a la que el trigger de depuracin ser atado. 3. Se elige Debug->Trigger para invocar el dilogo New Trigger. 4. Se especifica el cuerpo del trigger. Por ejemplo, para crear un trigger de depuracin que interrumpa la ejecucin de un programa, si la variable my_sal excede de 5000, introducir el siguiente cuerpo de trigger: IF Debug.Getn('my_sal') > 5000 THEN raise Debug.Break; END IF; Nota: Se debe levantar la excepcin DEBUG.BREAK desde el paquete DEBUG, si se quiere que el Depurador aparezca cuando la lnea es ejecutada. En otro caso, Oracle Forms ejecuta el cdigo, pero el Depurador no aparece.

Curso de Forms 6i Avanzado

Pagina 23 de 28

5. Se elige OK para crear el trigger de depuracin para la lnea seleccionada.

Curso de Forms 6i Avanzado

Pagina 24 de 28

8. Optimizar para funcionar mejor 8.1. Consultar todos los registros cuando sea conveniente Cuando se ejecuta una consulta, si todos los registros que se emparejan con el criterio de esa consulta deben ser extrados dentro de los datos de bloque, se establecer la propiedad Query All Records en el valor Yes. 8.2. Array DML (Disminuir los Round-Trips) El procesamiento de array es una opcin que altera la manera en que los registros son procesados. El comportamiento por defecto es procesar los registros uno cada vez. Permitiendo el procesamiento de arrays, se pueden procesar grupos de registros a la vez, reduciendo el trfico de la red e incrementando el rendimiento. Con el procesamiento de array, una estructura (array), que contiene mltiples registros, es enviada y devuelta al servidor para su procesamiento. El procesamiento de array est disponible para las consultas y las operaciones de DML para bloques basados en tablas, vistas, procedimientos y subconsultas, pero no para bloques basados en triggers transaccionales. La propiedad DML Array Size especifica el nmero de registros en el array para el procesamiento de array para las operaciones DML. (INSERT, UPDATE, DELETE) y la propiedad Query Array Size para el caso de las consultas. 8.3. Tipos de fuentes de datos Los bloques basados en la base de datos pueden estar basados en las siguientes fuentes de datos: una tabla, una vista, una clusula FROM de una consulta, un procedimiento, un disparador transaccional. 8.3.1. Tabla Una tabla es la fuente de datos de bloque ms usada comnmente. Es la mejor eleccin para un bloque de datos. Tambin reduce el trfico en la red mediante el procesamiento de array. 8.3.2. Clusula FROM de una consulta Una clusula FROM puede ser usada como fuente de una bloque de datos. Es una caracterstica de Oracle8 Server que permite anidar una instruccin SELECT en la clusula FROM de una instruccin SELECT. Es una fuente de datos de bloque de consulta vlida, pero no una fuente de datos de bloque DML vlida. El valor devuelto por la clusula FROM es un subconjunto de registros de la consulta original. Son usadas para ejecutar uniones, bsquedas y clculos sin tener que crear vistas. Pueden ser usadas como vistas prototipos y para incrementar el rendimiento. 8.3.3. Procedimientos almacenados Usando un procedimiento almacenado como fuente de datos de un bloque es una opcin ms avanzada. Se utiliza para: incrementar el control y la

Curso de Forms 6i Avanzado

Pagina 25 de 28

seguridad, consultar y actualizar mltiples tablas, ejecutar clculos complejos, etc. Un procedimiento almacenado devuelve datos a un bloque de datos usando un cursor REF o una tabla de registros 8.3.4. Disparador transaccional Un disparador transaccional puede ser usado para proporcionar datos a un bloque de datos. Se usan normalmente cuando se trabaja sobre fuente de datos no ORACLE. Una fuente de datos de este tipo puede usarse tanto para consultas como para operaciones DML. El procesamiento de arrray no es soportado cuando el bloque de datos est basado en un disparador transaccional.

Curso de Forms 6i Avanzado

Pagina 26 de 28

9. Forms Server

9.1. Arquitectura Cliente / Servidor En la arquitectura cliente/servidor, el entorno de ejecucin (runtime) de Oracle Forms est totalmente contenido en el cliente. Se trata de un programa o grupo de programas que se encargan de la presentacin grfica (la interfaz de usuario), el procesamiento de los triggers y procedimientos no almacenados en base de datos (la lgica de la aplicacin), y la conexin con el servidor de base de datos mediante Net8.

Algunos inconvenientes de esta arquitectura son : El runtime de Forms requiere bastantes recursos de cada ordenador en que est instalado; Es un programa que hay que instalar y configurar individualmente en cada ordenador; Es un programa que hay que mantener y actualizar individualmente en cada ordenador; Es un programa especfico del sistema operativo, lo que limita la eleccin del sistema operativo del cliente a los soportados por Oracle; Hay que dar acceso en cada ordenador a los ejecutables (FMX) de Oracle Forms. Si se copian localmente, se plantean problemas de sincronizacin de los fuentes, en caso de actualizaciones.

Curso de Forms 6i Avanzado

Pagina 27 de 28

9.2. Arquitectura basada en Web En la arquitectura de Forms basada en Web, aparece un nuevo sujeto: el servidor de aplicaciones. El cliente pasa parte de sus funciones al servidor de aplicaciones, quedndose nicamente con el procesamiento de la interfaz de usuario y la conexin con el servidor de aplicaciones. El servidor de aplicaciones se especializa en el procesamiento de la lgica de la aplicacin y la conexin con el servidor de base de datos mediante Net8, y proporciona estos servicios a numerosos clientes.

Esta arquitectura resuelve, entre otros, los inconvenientes indicados de la arquitectura cliente / servidor: El runtime de Forms en el cliente requiere menos recursos de cada ordenador en que est instalado; Est basado en Java y TCP/IP, que son recursos ya instalados en la mayora de los sistemas operativos, lo que resuelve la mayora de problemas de instalacin, configuracin y mantenimiento, adems de proporcionar mayor independencia de la plataforma; Slo es necesario dar acceso a los ejecutables (FMX) de Oracle Forms en los servidores de aplicaciones: se evitan los problemas de sincronizacin de ficheros en mltiples equipos.

Curso de Forms 6i Avanzado

Pagina 28 de 28