MANUAL FORM6.0 BASICO

Forms 6.0i Por R. Rivas ORACLE FORMS 6i FOR WINDOWS 2000/NT Por R. Rivas Ediciones: Forms 4.5 Forms 6.0 Forms 6.0i M

Views 78 Downloads 0 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Forms 6.0i

Por R. Rivas

ORACLE FORMS 6i FOR WINDOWS 2000/NT

Por R. Rivas Ediciones: Forms 4.5 Forms 6.0 Forms 6.0i

Mayo 1998. Santo Domingo, R.D. Enero 2000. Santo Domingo, R.D. Julio 2004. Santo Domingo, R.D.

Pag. 1

Forms 6.0i

CONTENIDO WELCOME TO THE FORM BUILDER

NAVEGADOR DE OBJETOS (OBJECTS NAVITATORS)

FORMS CAPITULO I

FORMAS PROPIEDADES

CAPITULO II

BLOQUES PROPIEDADES

CAPIPTULO III

CAMPOS PROPIEDADES

CAPITULO IV

ALERTAS PROPIEDADES

CAPITULO V

CANVASES PROPIEDADES

CAPITULO VI

RELACIONES ENTRE BLOQUES PROPIEDADES

CAPITULO VII

EDITORES LISTAS DE VALORES (LOVs) RECORD GROUPS

CAPITULO VIII

TRIGGERS PROGRAMS UNIT

CAPITULO IX

OBJET GROUPS PARAMETERS PROPERTY CLASSES VISUAL ATTRIBUTES

CAPITULO X

WINDOWS INSTRUCCIONES Y VARIABLES DE SYSTEM

Por R. Rivas

Página 04 10

14 15 17 22 23 25 33 34 34 42 44 44 45 46 47 50 51 52 55 56 57 60 63 64 69 74 75 75 76 76 77 78 79

Pag. 2

Forms 6.0i

CONTENIDO MENUS CAPITULO XI

MENUS JERARQUIA DE MENUS PROPIEDADES MODULE MENU MAIN MENU ITEMS MENU

CAPITULO XII

ESTRUCTURA DE MENUS COMANDOS ÍTEMS DE MENUS

Por R. Rivas

Página

82 83 84 85 87 88

90 91 92

EJERCICIOS PRACTICOS EJERCICIO I 49 EJERCICIO II EJERCICIO III EJERCICIO IV EJERCICIO V EJERCICIO VI

54 62 68 81 93

Pag. 3

Forms 6.0i

WELCOME TO THE FORM BUILDER

Por R. Rivas

DESIGNING:



Use the Data Block Wizard: Para crear una forma con bloques usando objetos almacenados en la base de datos.



Build a New Form Manually: Para construir una forma de manera manual.



Open an Existing Form: Para abrir una forma existente.



Build a Borm Based on Template: Para construir una forma basada en otra forma o un formato previamente definida.

Pag. 4

Forms 6.0i

LEARNING (Referencias Rápidas):

Por R. Rivas



Run The Quick Tour (Conceptos): Para dar un vistazo rápido a los conceptos de Forms Developer.



Explore then Cue Cards(Tasks): Es una instructivo que muestra como realizar las diferentes tareas de forms.

Pag. 5

Forms 6.0i

OBJECTS NAVIGATOR:

Por R. Rivas



FORMS (Diseño de Formas) Este módulo está compuesto por conjuntos de objetos programáticos que se utiliza para el diseño de Formas (pantallas).



MENU (menues de acceso a programas y reportes) Un módulo de menú que puede comprender una jerarquía de menues, con ítems seleccionables para la escogencia del usuario.



LIBRARY (Librerías o paquetes) Son colecciones de unidades programables de PL/SQL, que se desarrollan al igual que en otras herramientas de Developer/2000.

Pag. 6

Forms 6.0i

Por R. Rivas

FORMS (DISEÑO DE FORMAS)

Pag. 7

Forms 6.0i

OBJETOS EN FORMS DESIGNER

Por R. Rivas

Un objeto es una parte de la forma que representa un grupo de datos. Una aplicación en Forms consiste en un conjunto de objetos que contienen toda la información necesaria para definirla.

Pag. 8

Forms 6.0i Tipos de Objetos 

Por R. Rivas

Forms (Formularios o Formas)  Triggers (disparadores [a varios niveles])  Alerts (alertas o avisos al usuario)  Attached Libraries (librerías adicionadas)  Data Blocks (bloques)  Items (campos)  Canvases (paginas o pantallas)  Tab Pages  Graphics  Editors (editores)  LOVs (listas de valores)  Object Groups (grupos de objetos)  Parameters (parámetros)  Popup Menus  Programs Units (unidades de programas)  Procedures (procedimientos)  Functions (Funciones)  Packages (paquetes)  Properties Classes (grupos de propiedades)  Record Groups (agrupación de registros)  Reports  Visual Attributes (atributos visuales)  Windows (ventanas)

Cada uno de estos objetos puede ser definido, modificado, copiado y eliminado. También podemos configurar o manipular sus propiedades a través de las instrucciones SET y GET PROPERTY.

Pag. 9

Forms 6.0i

Por R. Rivas

FORMS OBJECTS NAVIGATOR (NAVEGADOR DE OBJETOS)

Pag. 10

Forms 6.0i

OBJECTS NAVIGATOR

Por R. Rivas

Es un conjunto de elementos gráficos estructurados de forma jerárquica para el manejo de objetos destinados al desarrollo de aplicaciones diversas. En Oracle Forms Designer el Object Navigator básicamente enmarca tres tipos de objetos a desarrollar:   

Forms (módulo de Formularios) Menus (módulo de menúes) Libraries (librerías o paquetes)

Además pueden visualizarse los siguientes objetos: 

Built-in Packages Programas y funciones que están desarrolladas en Oracle y que se usan para simplificar los comandos y procedimientos en la escritura de los códigos de programación.



Database Objects Permite visualizar los diferentes objetos (tablas, vistas, librerías y programas) que están almacenados en la Base de Datos, siempre y cuando el usuario esta conectado a Oracle y tiene permiso a los mismos.

El navegador de objetos maneja sus elementos de una manera jerárquica de modo que el modulo de la forma es superior a los bloques; estos lo son de los ítems y así sucesivamente. Esto significa que algunos objetos pueden estar contenidos dentro de otros, esto es lógico si pensamos que el objeto principal de la forma contiene a todos los demás. A continuación hablaremos de los objetos más usados de Oracle Forms por separado. 

Forms: es el objeto de mayor jerarquía, contiene a todos los otros objetos. Esta compuesto de módulos, los cuales son únicos en la aplicación o forma.



Triggers: Es una porción de códigos PL/SQL que se ejecutan o disparan por medio a un evento mientras la forma esta en ejecución. Este objeto puede existir en varios niveles: 1. 2. 3.

De Forma De Bloques De Items o Campos.



Alerts: son alertas o avisos que el programador define para mostrar sus errores, mensajes o advertencias.



Data Block: es la sección lógica de una forma, y esta bajo dominio de esta. Es un conjunto de ítems (campos) que puede o no estar basado sobre una tabla u objetos de base de datos. En el caso que lo sea solo puede corresponder a una. Pag. 11

Forms 6.0i Por R. Rivas  Item: objeto miembro de un bloque, que define una característica o atributo de la información con la cual el usuario interactuá. Los ítems o campos están funcionalmente agrupados en registros y pertenecen a los campos de la tabla base del bloque que los agrupa, esto ultimo en el caso de que el bloque este basado en una tabla. 

Canvases: es la parte visual donde los objetos (ítems) son desplegados. Un Canvas puede también contener objetos de texto y gráficos; los cuales a diferencia de los ítems, son informaciones estáticas con las que el usuario no puede interactuar.



LOVs: son las listas de valores o consultas que se asocian a los campos para asignar el resultado de la selección que se realice en estas. Esta íntimamente relacionadas con el Record Group que es un SQL.



Object Groups: para agrupar objetos y luego de manera simple usarlos o copiarlos en otras formas.



Parameters: Son campos que se encargan de recibir parámetros enviados a la forma al ejecutarse.



Popup Menus: Permite definir menues para ser usados en la forma.



Program Units: son procedimientos, funciones o paquetes nombrados, compuestos de sentencias PL/SQL que el programador define para determinados procesos.



Reports: Permite definir Reportes integrados en la forma.



Visual Attributes: permite definir standares de atributos visuales (Font & Color) los cuales pueden utilizar en cualquier objeto visible en la forma.



Windows: contiene los demás objetos visuales de la forma..

Pag. 12

Forms 6.0i

Por R. Rivas

Reglas para nombrar objetos en Oracle Forms: 1. Hasta 30 caracteres. 2. Empezar con una letra 3. Puede contener algunas combinaciones de letras, números y ciertos caracteres especiales ($,”,y). 4. No duplicar el nombre para objetos de Oracle u objetos de Oracle Forms del mismo tipo. 5. No puede ser una palabra reservada de Oracle (database) u Oracle Forms.

Como cambiar el nombre de los objetos: 

En el Object Navigator: - Haciendo doble-click sobre el nombre del objeto.



En el property Palette, accesado de estas manera: -

Seleccionado Tool -> properties Palette (en el menú principal). Haciendo doble-click sobre el icon del objeto en el Object Navigator.

Pag. 13

Forms 6.0i

Por R. Rivas

CAPITULO I FORMS (CREANDO FORMAS)

Pag. 14

Forms 6.0i

CREANDO UN MODULO DE FORMULARIO:

Por R. Rivas

La creación de un modulo de forma o Formulario consiste en proveer a Oracle Developer de las informaciones necesarias para el procesamiento de datos. Estas informaciones estarán contenidas en varias clases de objetos anteriormente mencionados, y estos son afiliados al objeto principal que es Forms. Se puede crear un modulo de forma de diferentes maneras, todo depende sobre como se tenga un Forms module abierto en el designer.

Métodos para crear un Modulo de Formulario: 1. Al abrir el Oracle Forms builder (implícitamente se crea un nuevo modulo). 2. Haciendo doble-click sobre el Object Navigator en el nodo para forma (solamente cuando no hayan otros módulos disponibles). 3. Seleccionado File -> New -> Report (en el menú principal). 3. Haciendo click sobre el Object Navigator en el nodo para forma, entonces hacer click sobre el icon create. 5. Presionando las teclas Ctrl+N.

Pag. 15

Forms 6.0i

Por R. Rivas

COMO BUSCAR, GRABAR O GENERAR FORMAS Se selecciona el módulo o forma deseada y se elige la opción deseada.

Las opciones mas usadas de menú de archivo son:  New: para crear una forma  Open: para buscar una forma existente  Close: para cerrar una forma  Save: para grabar una forma  Save As: para grabar la forma y especificar otro nombre.  Save All: para grabar todas las formas abiertas  Close All: para cerrar todas las formas abiertas  Conect: para conectarnos a la DB oracle  Administration  Compile File: para compilar y generar una forma, esta opción genera un objeto para ser ejecutado a través del RunTime de Forms. Las formas tienen extensión .FMB y los ejecutables .FMX

Pag. 16

Forms 6.0i

Por R. Rivas

FORMS PROPERTY (PROPIEDADES FORMAS)

Pag. 17

Forms 6.0i

FORMS PROPERTY

Por R. Rivas

Para obtener las propiedades de la forma se hace doble-click sobre el icon de ésta o presionando F4. Veremos las propiedades más usuales:

GENERAL Pag. 18

Forms 6.0i Por R. Rivas  Name (Nombre) Es donde se asigna el nombre lógico de la forma, automáticamente el Forms le asigna un nombre pero el diseñador tiene la opción de cambiarlo. 

Subclass Information (Clase) Se le especifica el nombre que corresponde a un grupo de propiedades (property classes) para que tome las propiedades definidas en esta para toda la forma.



Comments Comentarios de información general de la forma.

FUNCTIONAL 

Title Se especifica el título de la forma que se mostrará en la ventana.



Console Window Determina la ventana que Oracle Forms usará como consola. La ventana principal incluye la línea de estatus y la línea de mensajes. También puede ser utilizada para desplegar una barra de botones.



Menu Source: Determina de donde se leerá el menú, que puede ser File o Database.



Menu Module Determina el nombre del menú que va a utilizar la forma. Oracle Forms usará DEFAULT&SMARTBAR que es un menú predefinido por Oracle que es usado por defecto, que incluye la barra de botones. Este se puede cambiar según las necesidades.



Initial Menu: Al igual al anterior determina el menú a usar en la forma, pero lo reemplaza.



Menu Style: Determina el estilo en que se mostrará el menú. Estos pueden ser:  Pull-Down (por Defecto)  Full-Screen

Pag. 19

Forms 6.0i MENU SECURITY 

Por R. Rivas

Menu Role Especifica el nombre del Role (permiso) sobre el menú mostrado en la Formas. Esta propiedad es usada solo para mantener la compatibilidad con otras versiones, no es recomendado su uso en aplicaciones actuales.

NAVIGATION 

Mouse Navigation Limit Determina las limitaciones de navegación realizada con el Mouse. Estas pueden ser Forms, Block, Record o Item.



First Navigation Block Especifica el nombre del primer bloque donde entrara el control de la forma al momento de ser ejecutada.

RECORDS 

Current Record Attribute Se asigna el nombre que corresponde al atributo visual para que la forma tome las propiedades definida en él, cuando se este sobre un registro en todos los bloques.

DATABASE 

Validation Unit: Especifica el alcance de validación de la forma en tiempo de ejecución. Forms valida los datos en un item en cuanto se intenta navegar fuera él.



Interaction Mode: Especifica el modo de la interacción por el módulo de la forma. Modo de la interacción dicta cómo una forma se comportará durante una larga consulta. Si Modo de la Interacción es Blocking el usuario deberá esperar que termine la consulta. Si es Nom-Blocking la forma desplegarán un diálogo que deja al usuario cancelar la consulta.  Maximum Query Time Proporciona la opción de abortar la consulta(query) cuando el tiempo de la consulta excede el valor de esta propiedad.  Maximum Record Fetched: Proporciona la opción de abortar la búsqueda (query) cuando el número de registros obtenido en ésta excede el valor de esta propiedad. Pag. 20

Forms 6.0i Por R. Rivas  Isolation Mode:  Read Commited: visualiza los datos grabados hasta el momento de realizar la consulta sin importar los cambios que puedan sufrir por otros usuarios. 

Serializable: para notificar si el registro que se tiene ya fue actualizado por otro usuario (ORA-08177: Cannot serialize access.). Esto solo funciona si la Base de Datos está Serializable, para la consistencia de la data se recomienda que sólo las Base de Datos de consulta (Read-Only) sean serializable.

PHYSICAL 

Coordinate Information Es donde se establece la Coordinación de la forma. Especifica el estilo o apariencia de la forma; puede ser Real o Caracteres. Si es Real se definirá la medida milimétrica a usar para el diseño de las pantallas.



Use 3D Controls En Microsoft Windows, especifica si la forma desplegará los items en 3 dimensiones



Form Horizontal Toolbar Canvas Se le especifica el nombre del Canvas de tipo Horizontal Toolbar para la pantalla principal; (Multiple-Document Interfase).



Form Vertical Toolbar Canvas Se le especifica el nombre del Canvas de tipo Vertical Toolbar para la pantalla principal; (Multiple-Document Interfase).

INTERNATIONAL 

Direction Esta propiedad especifica la dirección de los objetos.

COMPATIBILITY 

Runtime Compatibility Mode: determina con cuales versión de forms será compatible la forma. Forms 4.5 o 5.0

Pag. 21

Forms 6.0i

Por R. Rivas

CAPITULO II BLOCKS (CREANDO BLOQUES)

Pag. 22

Forms 6.0i

Por R. Rivas

CREANDO UN NUEVO BLOQUE La mayoría de las formas en Oracle Forms consisten bloques basados en objetos de base de datos. Con un mínimo de entradas es posible hacer un bloque totalmente funcional basado sobre una tabla existente, usando definiciones almacenadas en el Diccionario de Datos. Las funcionalidades de los bloques basados en una tabla son: -

Al crear un bloque sus propiedades se configuran por omisión (Default). Se crea un ítem para cada columna de la tabla marcada para ser incluida. Configura automáticamente las propiedades de cada campo (nombre, tipo de dato, longitud y algunos otros) para ajustarse a las especificaciones correspondientes. Crea una etiqueta para cada ítem, el nombre por defecto es el nombre de la columna de la tabla. Acomoda los campos sobre el Canvas especificado acorde con las propiedades de despliegue definidos en el Layout Property.

COMO CONSTRUIR DATA BLOCK: Hacer click en el Object Navigator en el nodo para bloques o Hacer click sobre el icon Create en el Object Navigator. La ventana o cuadro de dialogo de “New Data Block” será desplegada.



Use the Data Block Wizard: utilizar el Wizard para su creación.

Pag. 23

Forms 6.0i

Por R. Rivas

1. Se especifica el tipo bloque, que puede estar basado en una tabla/vista o en un query almacenado en la base de datos.

2. Selecciona el objeto para basar el bloque (tabla, Vista o Store procedure). Tabla o Vista Store Procedure

Pag. 24

Forms 6.0i Por R. Rivas 3. Se especifica si se usará el Layout Wizard para construir los canvases o solamente crear el bloque. 

Build a new data block manually: para construir un bloque manualmente. En esta caso se definirán todos los objetos del bloque y se acomodarán en los canvases.

CONTROLANDO EL FUNCIONAMIENTO Y LA APARIENCIA DEL BLOQUE:

Se ha visto anteriormente que podemos crear bloques y asignar sus principales características usando las facilidades del cuadro de Diálogo de un nuevo bloque (New Data Block). En adición a los ítems y relaciones, podemos escoger la orientación de los registros, número de registros y espacios entre los mismos, y una barra de desplazamiento (Scroll Bar) cuando creamos un bloque. Podemos definir o cambiar esas y muchas otras propiedades adicionales posteriormente en el property palette.

Pag. 25

Forms 6.0i

Por R. Rivas

Las propiedades de un bloque están divididas entre los siguientes grupos: -

General Navigation Records Database Advaced Database ScrollBar Font & Color Character Mode International

GENERAL 

Name (Nombre) Pag. 26

Forms 6.0i Por R. Rivas Es donde se asigna el nombre lógico del bloque, automáticamente Forms le asigna un nombre pero el diseñador tiene la opción de cambiarlo. 

Subclass Information (Clases) Se le especifica el nombre que corresponde a un grupo de propiedades (property classes) para que tome las propiedades definidas en él para todo el bloque.



Comments Comentarios de información general sobre el bloque.

NAVIGATION 

Navigation Style (Estilo de Navegación) Normalmente, cuando se navega hasta el último ítem (campo) en un registro de un bloque usando el disparador [Next Item] (próximo campo), Oracle Forms retorna hacia el comienzo del registro. Con esta propiedad podemos cambiar la localización del cursor, tomando las siguientes opciones: 1. Same Record (por defecto) se queda en el mismo registro y le lleva al primer ítem (campo) navegable del bloque. 2. Change Record cambia al próximo registro al ejecutar Next Item sobre el último campo navegable del bloque. 3. Change Data Block cambia al próximo bloque al ejecutar Next Item sobre el último campo navegable del bloque.



Next/Previous Navigation Block (Navegación al Próximo o Anterior Bloque). Cuando existan más de un bloque en un módulo, y se ejecuta el trigger de mover hacia el próximo bloque o al anterior, Oracle Forms mueve el control sobre el próximo o anterior bloque adyacente en secuencia. Con esta propiedad se permite nombrar un bloque especifico hacia el cual moverse en cada caso. Esto puede alterar la secuencia natural de los bloques de acuerdo a su posición en el Object Navigator.

RECORD 

Current Record Attribute (Atributos del registro actual) Permite definir un visual atributo que podrá ser usado para resaltar el registro activo en el bloque. (Un visual atributo es otro objeto que podemos crear en el designer, con un set de tipos de letras, colores y combinaciones de fondo).



Query Array Size: Determina la cantidad máxima de registros sacados en el bloque a la vez.



Number of Records Buffered: (Registros en Memoria Intermedia) El mínimo espacio de memoria intermedia para retener los registros consultados por el bloque. El mínimo espacio disponible es la cantidad de records desplegados más tres (Records Desplayed + 3). Cuando Oracle Forms no tiene espacio para almacenar los Pag. 27

Forms 6.0i Por R. Rivas registros en una memoria intermedia, éstos son escritos en un archivo temporal en el disco. 

Records Displayed (Registros Desplegados) Nos permite cambiar el número de los registros del bloque sobre el Canvas para el despliegue, y como esos registros pueden ser vistos. Se debe estar seguro que hay suficiente espacio libre en el Canvas para el número de registros, o éstos se sobrepondrían a otros objetos.



Record Orientation (Orientación del Registro) Usualmente los registros son orientados verticalmente (uno seguida del otro). Podemos cambiar este orden a Horizontal en esta propiedad, pero nos seria más fácil escoger orientación horizontal al momento de crear el bloque.

Pag. 28

Forms 6.0i

Por R. Rivas

DATABASE 

Database Data Block: Especifica si el bloque está basado en un objeto almacenado en la base de datos, como son tablas, procedimientos, triggers, query, etc.



Enforce Primary Key: Esto controla que Oracle Forms verifique que los registros sean únicos antes de insertarlos en la tabla. Se usa Yes para identificar que al menos un ítem (campo) en el bloque también esté configurado Yes en su property Primary Key.



Query/Delete/Insert/Update Allowed Estas propiedades controlan las operaciones asociadas con los registros que pueden ser ejecutadas en el bloque.



Query Data Source Type: Especifica la fuente de los datos del bloque. Estos son:    

Table Procedure Transactional Trigger Sub-query.



Query Data Source Name Asigna el objeto de la base de dato de acuerdo al tipo de objeto que estará asociada con el bloque No es prudente realizar cambios en esta propiedad después de haber creado el bloque.



WHERE Clause (Cláusula Condicional) Permite definir una condición SQL que es adicionada a todas las consultas realizadas sobre la tabla base implícitamente. Opera como condición AND con algunas otras condiciones suplidas por el operador en el modo de entrada de criterios. Se usa esta propiedad para definir restricciones generales sobre los registros que pueden ser recuperados en el bloque en una consulta.



ORDER BY Clause (Cláusula para Ordenar) Permite definir un orden por defecto para los registros desplegados de una consulta. El operador puede alterar este orden si usa el cuadro de dialogo Query/Where en la ejecución del modulo.

Pag. 29

Forms 6.0i Por R. Rivas  Key Mode: estas propiedades controlan como Oracle Forms maneja los registros y transacciones cuando el bloque esta asociado con tablas o archivos que NO son ORACLE. Los valores por defecto son usualmente apropiados para bloques conectados con una Base de Datos Oracle. 

Locking Mode: especifica cuando forms bloquea los registros del bloque: Automatic (default): idéntico a Immediate excepto cuando el bloque esta basado en un objeto que no es de oracle. Immediate: bloquea el registro inmediatamente el usuario lo usa o modifica. Delayed: bloquea el registro solo cuando se va a postear la transacción el la base de datos.



Update Changed Columns Only (Actualizar Columnas Cambiadas) Cuando es Yes, solamente modifica los ítems que el operador ha escrito en las columnas correspondientes de la tabla base. Cuando es No (por defecto) Oracle Forms modifica todas las columnas de la tabla asociada con el bloque.



Enforce Column Security (Columna Asegurada) Cuando es Yes los ítems en el bloque solamente pueden ser modificados si el usuario tiene permiso a modificar la correspondiente columna en la base de datos.



Number Records Fetched (Registros Recuperados) El máximo número de registros a ser recuperados de la tabla base por cada operación de fetch. Por defecto el valor es ‘0’ hace que Oracle Forms use el mismo numero de registro desplegado. Esto provoca que la Forma no entregue más registros que los que inicialmente se ven en la pantalla.

ADVANCED DATABASE 

DML Data Target Type: Especifica la fuente de los datos del bloque. los tipos son:   

Table Procedure Transactional Trigger



DML Data Target Name Asigna el objeto de la base de dato de acuerdo al tipo de objeto que estará asociada con el bloque No es prudente realizar cambios en esta propiedad después de haber creado el bloque.



Insert Procedure Name: especifica el nombre del procedimiento almacenado en la base de datos que será usado para insertar los registros desde el bloque. Es válido sólo cuando DML Data Target Type es Procedimiento.

Pag. 30

Forms 6.0i Por R. Rivas  Insert Procedure Results Set Columns: Especifica los nombres y tipos de datos del resultado de las columnas asociadas con el procedimiento para insertar los datos desde el bloque. Es válido sólo cuando DML Data Target Type es Procedimiento. 

Insert Procedure Argument: Especifica los nombres, tipos de datos y valores de los argumentos (parámetros) de las columnas del procedimiento para insertar los datos desde el bloque. Es válido sólo cuando DML Data Target Type es Procedimiento.



Update Procedure Name: especifica el nombre del procedimiento almacenado en la base de datos que será usado para actualizar los registros desde el bloque. Es válido sólo cuando DML Data Target Type es Procedimiento.



Update Procedure Results Set Columns: Especifica los nombres y tipos de datos del resultado de las columnas asociadas con el procedimiento para actualizar los datos desde el bloque. Es válido sólo cuando DML Data Target Type es Procedimiento.



Update Procedure Argument: Especifica los nombres, tipos de datos y valores de los argumentos (parámetros) de las columnas del procedimiento para actualizar los datos desde el bloque. Es válido sólo cuando DML Data Target Type es Procedimiento.



Delete Procedure Name: especifica el nombre del procedimiento almacenado en la base de datos que será usado para borrar los registros desde el bloque. Es válido sólo cuando DML Data Target Type es Procedimiento.



Delete Procedure Results Set Columns: Especifica los nombres y tipos de datos del resultado de las columnas asociadas con el procedimiento para borrar los datos desde el bloque. Es válido sólo cuando DML Data Target Type es Procedimiento.



Delete Procedure Argument: Especifica los nombres, tipos de datos y valores de los argumento (parámetros) de las columnas del procedimiento para borrar los datos desde el bloque. Es válido sólo cuando DML Data Target Type es Procedimiento.



Look Procedure Name: especifica el nombre del procedimiento almacenado en la base de datos que será usado para bloquear los registros en el bloque. Es válido sólo cuando DML Data Target Type es Procedimiento.



Look Procedure Results Set Columns: Especifica los nombres y tipos de datos del resultado de las columnas asociadas con el procedimiento para bloquear los datos desde el bloque. Es válido sólo cuando DML Data Target Type es Procedimiento.



Look Procedure Argument: Especifica los nombres, tipos de datos y valores de los argumento (parámetros) de las columnas del procedimiento para bloquear los datos desde el bloque. Es válido sólo cuando DML Data Target Type es Procedimiento.



DML Array Size: Especifica la cantidad máxima de registros para insertar, actualización, y borrar en la base de datos a la vez.



Precompute Summaries: Especifica que el valor de cualquier item del bloque se va a computar antes que se muestre el resultado del query en el bloque. El cálculo dependerá de lo especificado en la columna que se computará. Pag. 31

Forms 6.0i

Por R. Rivas

SCROLLBAR 

Show Scroll Bar: Si se va o no a mostrar la barra de desplazamiento del bloque



Scroll Bar Canvas: Especifica en que canvas (pantalla) de la forma se va a mostrar la barra de desplazamiento.



Scroll Bar Tab Page: Especifica en que Tab del Canvas se va a mostrar la barra de desplazamiento. Esto sólo es válido si el tipo de canvas es Tab (Etiqueta).



Scroll Bar Orientation: Especifica la orientación del Canvas, que pueden ser Vertical u Horizontal.



Scroll Bar X Position: Especifica la posición de la barra en la coordenada sobre el eje de las Xs



Scroll Bar Y Position: Especifica la posición de la barra en la coordenada sobre el eje de las Ys



Scroll Bar Width: Determina el ancho de la barra en posiciones milimétricas.



Scroll Bar Length: Determina el lago de la barra en posiciones milimétricas.



Reverse Directión: Especifica que el desplazamiento de la barra será al inverso.

Pag. 32

Forms 6.0i VISUAL ATTRIBUTES

Por R. Rivas



Visual Attribute Group: En esta propiedad se suministra el nombre del atributo Visual para representar la apariencia de los Item (campo) del bloque en el Canvas.



Character Mode Logical Atribute: especifica los atributos contenido en un archivo que solo pueden ser utilizado en formas de modo carácter.



White on Black: Para indicar que las letras serán de color blanco y el fondo de color negro.

COLOR 

Foreground Color: Para indicar el color de las letras de los Item (campo) del bloque.



Background Color: Para indicar el color del fondo de los Item (campo) del bloque.



Fill Pattern: Para rellenar

CHARACTER MODE Listed In Data Block Menu (En el Menú) Permite controlar si el bloque es accesible en el Menú Block de la forma. Data Block Description (Descripción del Bloque) Descripción la cual se despliega para el bloque en el Menu Block de la forma.

INTERNATIONAL 

Direction Esta propiedad especifica la dirección de los objetos.

Pag. 33

Forms 6.0i

Por R. Rivas

CAPITULO III ÍTEMS (CREANDO CAMPOS)

Pag. 34

Forms 6.0i CREANDO ITEMS (CAMPOS) DENTRO DE UN BLOQUE

Por R. Rivas

Para crear un nuevo ítems (campo) solo tenemos que colocar el puntero del Object Navigator en el renglón Ítem del Block en el cual deseamos crear el objeto y presionar el botón del Button Palette ubicada a la izquierda el Object Navigator, o presionando dobleclick sobre el renglón de Item.

PROPIEDADES DE LOS ITEMS (CAMPOS)

Pag. 35

Forms 6.0i Las propiedades de un item se dividen en los siguientes grupos: -

Por R. Rivas

General Functional Navigation Data Calculation Records Database List of Values (LOV) Edit Physical Visual Attribute Color Font Prompt Prompt Color Prompt Font Help International

Como algunas de estas propiedades ya las hemos definidos en las propiedad de los bloques sólo veremos las mas importantes, ya que tienen la misma funcionalidad de acuerdo al nivel del objeto en que se utilicen.

GENERAL 

Name Es donde se asigna el nombre del Item (campo), automáticamente el Forms le asigna un nombre pero el diseñador tiene la opción de cambiarlo.



Item Type En esta propiedad se le especifica el tipo de campo, ejemplo: Text Item, Botton, Display Item, etc. Las demás propiedades pueden aplicar o no de acuerdo al tipo de item.



Subclass Information (Clase) Se le especifica el nombre que corresponde a un grupo de propiedades (property classes) para que tome las propiedades definidas en él para el item.



Comments Comentarios de información general sobre el item.

Pag. 36

Forms 6.0i FUNCIONAL 

Por R. Rivas

Enable (Disponible) Determina el acceso o no al campo.  Justification (Justificación) Determina la Justificación del valor del campo.  Multi-Line Determina si el contenido del campo se puede mostrar o escribir en varias líneas separado por enter.  Wrop Stype: Determina la separación del contenido del item.



Case Restriction (Restricciones a valores) Obliga al usuario entrar valores en mayúscula, minúscula o ambas.



Conceal Data (Oculta Datos) Oculta los datos contenido en el campo.



Automatical Skip (Saltar) Determina cuando el campo es completado, para que el control pase al próximo campo automáticamente en valores Varchar2 o Long en columnas de Base de Datos.



Popup Menu: Especifica el menú a desplegar para el item.

NAVIGATION 

Keyboard Navigable (Navegable) Determina si se puede o no navegar en el campo con el teclado.



Previous Navigable Item (Campo anterior) Determina el campo anterior a donde pasará el cursor cuando se presione la tecla Previous_Item, sin importar el orden de los campos en el bloque.



Next Navigable Item (Próximo campo) Determina el próximo campo a donde pasará el cursor cuando se presione la tecla Next_Item, no importando el orden de los campos en el bloque.

Pag. 37

Forms 6.0i DATA

Por R. Rivas



Data Type (Tipo de Dato) Determina que valores Oracle Forms debe permitir en la entrada de este Item (campo).



Maximum Length (Longitud Máxima) Configura el número máximo de caracteres permitidos en el campo. Usualmente se corresponde a la longitud de la columna en la Base de Datos.



Fixed Length (Longitud Fija) Determina que el valor contenido en el campo sólo es válido si no excede la longitud máxima definida en Maximun Length.



Initial Value (Valor inicial) Especifica el valor que Oracle Forms toma en el campo por cada registro nuevo.



Required (Requerido) Determina si el item es mandatario, o sea, que tiene que ser Obligatorio, para las columnas definida como NOT NULL en las tablas o a cualquier columna que se necesite siempre valor. Estas propiedades es activada automáticamente al momento de crear un bloque basado en una tabla.



Formast Mask (Formato) Especifica el Formato (mascarilla) del campo. Ejemplo 999,999.99, dd/mm/yyyy, etc.



Lowest Allowed Value (Menor Valor) Configura el valor mínimo permitido en el campo.



Highest Allowed Value (Mayor Valor) Configura el valor máximo permitido en el campo.



Copy Value From Item (Valor Copiado) Especifica el bloque y el campo a ser usado como fuente para copiarlo como valor en el campo del registro activo (es usado en la relaciones entre bloques.)



Synchronize With Iten Sincroniza el valor de dos ítems. Si un ítem es cambiado esto se refleja también el otro. Pero solo aplica para item de un mismo bloque.

Pag. 38

Forms 6.0i CALCULATION

Por R. Rivas



Calculation Mode Especifica el modo para el cálculo del item. Éstos pueden ser con formula o resumen.



Formula Se define la formula que se va a aplicar para el cálculo en el item. Esto sólo es válido si el modo es formula.



Summary Functión Especifica la función que se utilizará para el cálculo del item. Esto sólo es válido si el modo es resumen. Las funciones pueden ser -

Avg Count Max Min StdDev Sum Variance



Summarized Block Especifica el nombre del bloque que se va a resumir. Esto sólo es válido si el modo es resumen.



Summarized Item Especifica el nombre del item que se va a resumir. Esto sólo es válido si el modo es resumen.

RECORD 

Current Record Visual Attribute Group (Nombre del Atributo Visual) En esta propiedad se suministra el nombre del Visual Attribute para representar la apariencia del Item (campo) en el Canvas.



Distance Between Records (Espacios entre los Registros) Configura el espacio entre los registros de un bloque.  Number of Items Displayed (Campos Desplegado) Representa el número de veces a representar el campo en el bloque, este número no puede ser mayor que la propiedad de esta misma naturaleza a nivel de bloque.

Pag. 39

Forms 6.0i DATABASE

Por R. Rivas



Database Item: Especifica si el item pertenece o no a la tabla asociada en el bloque.



Column Name: Especifica el nombre del item en la tabla asociada al bloque.



Primary Key: Especifica el item es llave primaria en la tabla de la base de datos.



Query/Delete/Insert/Update Allowed Estas propiedades controlan las operaciones asociadas con los registros que pueden ser ejecutadas en el item.

LIST OF VALUES (LOV) 

List of Values (Lista de Valores) Nombre de la lista de valores, que vamos a habilitar en el campo.



List X Position (Posición de la Lista eje Xs) Posición en la coordenada sobre el eje de las Xs para la lista de valores.



List Y Position (Posición de la Lista eje Ys) Posición en la coordenada sobre el eje de las Ys para la lista de valores.



Validate from List: Especifica si se debe validar el valor del item contra los valores en la lista de valores.

EDITOR 

Edit Nombre del editor, que vamos a habilitar en el campo.



Edit X Position Posición en la coordenada sobre el eje de las Xs para desplegar el editor.



Edit Y Position Posición en la coordenada sobre el eje de las Ys para desplegar el editor. PHYSICAL 

Visible (Visible) Pag. 40

Forms 6.0i Por R. Rivas En esta propiedad se especifica si deseamos o no que el campo se despliegue en el Canvas. 

Canvas/Tab Page (pantalla) Se especifica el nombre del Canvas/Página donde deseamos ubicar nuestro campo, el concepto Canvas lo trataremos más adelante.



X Position (Posición coordenada X) La coordenada del eje de las Xs en cual deseamos que se despliegue el Item (campo) en el Canvas.



X Position (Posición coordenada Y) La coordenada del eje de las Ys en cual deseamos que se despliegue el Item (campo) en el Canvas.



Width (Ancho) Determina el ancho del Item (campo) en posiciones milimétricas.



Height (Alto) Determina el alto del Item (campo) en posiciones milimétricas.



Bevel (bordes) Determina la apariencia del border del objeto.



Show Vertical Scroll Bar Determina si se mostrará una barra de desplazamiento para el item.

VISUAL ATTRIBUTES, COLOR & FONT 

Visual Attribute Group (Nombre del Atributo Visual) En esta propiedad se suministra el nombre del Visual Attribute para representar la apariencia del Item (campo) en el Canvas.



White on Black: Para indicar que las letras serán de color blanco y el fondo de color negro.



Foreground Color (Color Letra) Para indicar el color de las letras del Item (campo).



Background Color (Color Fondo) Para indicar el color del fondo del Item (campo).



Font Name (Nombre Letra) Nombre del Packages que representa un tipo de letra.



Font Size (Tamaño Letra) Representa el tamaño de la letra. Pag. 41

Forms 6.0i

Por R. Rivas

PROMPTS 

Prompt Es la etiqueta del campo. también se especifica la justificación, el estilo, alineación, Color de las Letras, Color del fondo, Tipos de Letra, Tamaño de las Letras, etc.

HELP 

Hint (mensaje) Muestra el mensaje que aparece en la línea de mensajes con respecto al campo donde está el cursor. Esta propiedad se puede usar como ayuda para los usuarios.



Display Hint Automatically Determina cuando el Hint del campo aparecerá automáticamente.



ToolTip Es la ayuda de burbuja mostrada automáticamente cuando el puntero del mouse pasa o se posiciona sobre un item.



ToolTip Visual Attribute Group Determina el atributo visual de la ayuda de burbuja.

Pag. 42

Forms 6.0i

Por R. Rivas

CAPITULO IV ALERTS (CREANDO ALERTAS)

Pag. 43

Forms 6.0i ALERTS

Por R. Rivas

Las alertas son mensajes que los programadores utilizan para mostrar los errores o advertencias. Estas son ventanillas que permite tomar acción, por medio de tres botones configurables. Existen tres tipos de alertas:   

Stop Caution Note

(Parar, usada para errores) (Precaución, usada para advertencias) (Nota, para hacer alguna observación o documentación).

Las propiedades son las Siguientes, de las cuales solo definiremos las funcionales, ya que las demás son similares a las propiedades de otros objetos antes vistos.

Pag. 44

Forms 6.0i PROPIEDADES DE ALERTAS

Por R. Rivas

FUNCIONAL 

Title (Titulo) Es el titulo que aparece en la ventanita de la alerta.



Message (Mensaje) Es el mensaje de la Alerta.



Alert Style (Estilo) Determina el tipo o estilo de alerta. Existen 3 diferentes:   

Stop: Utilizadas para mostrar errores. Caution: utilizadas para mostrar advertencias. Note: utilizadas para mostrar notas.



Button 1, 2 y 3 Label (Etiquetas) Una alerta tiene disponible 3 botones los cuales permitirán tomar acciones al momento de activarla. En esta solo aparecerán los botones que se configuren.



Default Alert Button (Botón por defecto) Es el botón por defecto donde el control se posicionara al momento de mostrar la alerta.

USANDO ALERTA: Las alertas se puede activar desde un Trigger o Program Unit. Ejemplos: BEGIN If Show_Alert('Error') = Alert_Button1 Then Raise Form_Trigger_Failure; End If; END; El mensaje de una alerta se puede cambiar con: Change_Alert_Message('Error', Mensaje); Las demás propiedades pueden cambiarse en RunTime con la instrucciones GET y SET_ALERT_PROPERTY.

Pag. 45

Forms 6.0i

Por R. Rivas

CAPITULO V CANVASES (CREANDO PANTALLAS)

Pag. 46

Forms 6.0i CANVASES

Por R. Rivas

Es el área donde se diseña el formato de las pantallas, aquí se colocan los campos, y los demás objetos visualizables. Este tipo de objeto tiene propiedades que al igual a las antes vistas son definibles y solo aplican para todos los objetos plasmados en ella. En la parte izquierda del Canvas encontramos un Botton Palette (Barra de Botones) que usaremos para diseñar nuestra pantalla. Estos botones nos permiten ejecutar algunas funciones que se encuentran en el Object Navigator, como son: creación de Item, Copiar Items, etc., también nos facilitan cambiar las apariencias de los objetos colocados en ella. Entre las propiedades más importantes se encuentra el tipo de Canvas que pueden ser:  Content: Contenido, sustituye el Canvas anterior.  Stacker: Se sobrepone al anterior sin sustituirla.  Horizontal ToolBar: Es una barra Horizontal, generalmente usada para botones.  Vertical ToolBar: Es una barra Vertical, generalmente usada para botones  Tab: similar a Stacker, pero con foldercitos o pestañitas Para su creación podemos asistirnos del Wizard, Seleccionando Tools  Layout Wizard en el menú:

Pag. 47

Forms 6.0i PROPIEDADES DE CANVASES

Por R. Rivas

Para ver las propiedades de un canvas nos colocamos sobre ella y presionamos F5 o property palette con el boton derecho de Mouse.

A continuación mostraremos un gráfico para ilustrar un Canvases. Pag. 48

Forms 6.0i

Por R. Rivas

En esta misma ventana el diseñador podrá moverse a otros Canvases de nuestra forma, así como a otros bloques, a través de listas de valores en la parte superior de la pantalla

También se puede encontrar en la parte superior iconos para alineación de objetos.

A la izquierda de se encuentran los botones de diseño, gráficos, textos, tipos de ítems y colores.

Pag. 49

Forms 6.0i EJERCICIO I

Por R. Rivas

1) Crear una tabla llamada DEPTOS con las siguientes características:  Id_departamento numérico de 5 dígitos, PK  Nom_departamento carácter de 35 posiciones. 2) Crear una tabla llamada EMPLEADOS con las siguientes características:  Id_empleado numérico de 5 dígitos, PK  Nom_empleado carácter de 35 posiciones, obligatorio.  Cargo carácter de 25 posiciones.  Id_departamento numérico de 5 dígitos, FK referenciado a la tabla DEPTOS.  Fecha_nacimiento tipo fecha, obligatorio  Sexo carácter de 1 posición, restringido a solo dos valores (F,M), obligatorio.  Sueldo numérico de 12 dígitos y 2 decimales, obligatorio.  Status_empleado carácter de 1 posición, restringido a (A,D), obligatorio. 3) Hacer una forma que se llamará empleados, usando la tabla EMPLEADOS con las siguientes características:  El estilo del bloque tipo Forms  Usar propiedades para integridad de restricciones  No usar ScroolBar  Crear un bloque para una paleta de botones.

Pag. 50

Forms 6.0i

Por R. Rivas

CAPITULO VI RELATIONS (CREANDO RELACIONES ENTRE BLOQUES)

Pag. 51

Forms 6.0i RELATIONS

Por R. Rivas

En Oracle Forms podemos tener Blocks Master y Blocks Detail, para lo cual la herramienta se encarga de realizarnos todas las tareas de relacionar los bloques, siempre y cuando existan relaciones entre las tablas de los bloques. Existen dos maneras de crear estas relaciones:  Manualmente  Usando el Wizard CREACIÓN RELACION MANUALMENTE: Para realizar una relación manual nos colocamos en el nodo Relations del bloque principal o Block Master y presionamos el botón de crear, inmediatamente aparecerá esta pantalla:

Pag. 52

Forms 6.0i PROPIEDADES RELACIONES:

Por R. Rivas



Relation Name (Nombre de la Relación) Se especifica el nombre de la relación, con las mismas reglas de validación de un Objeto de la Base de Datos.



Master Block (Bloque Maestro) Se le suministra el nombre del bloque maestro (padre) de nuestra forma. Este bloque debe existir en la forma.



Block Detail (Bloque de Detalle) Se le suministra el nombre del bloque de detalle (hijo) de nuestra forma.



Master Deletes: Cascading (Cascada) Si se borra un registro en el bloque maestro borrará también los registros que dependan del él en los bloques de detalles. Isolated (Aislado) Permite borrar el maestro sin afectar los bloques de detalles. Esto si las restricciones en la base de datos lo permite Non-Isolated (No Aislado) Es la forma estándar, no permite borrar el maestro si existen bloques de detalles asociados a éste. 

Coordination: Deferred (Diferido) Determina la coordinación del bloque maestro con sus relaciones. Prevent Masterless Operation Pag. 53

Forms 6.0i Por R. Rivas El objetivo de esta propiedad es prevenir al usuarios del funcionamientos de las relaciones entre los bloques Join Condition (Condición de Relación) Se especifica las relaciones de las tablas a las cuales pertenecen los bloques. CREACIÓN RELACION A TRAVES DEL WIZARD: Esta pantalla solo aparece cuando se utiliza el wizard para crear un bloque y ya existen bloques creado:

Pag. 54

Forms 6.0i EJERCICIO II

Por R. Rivas

1. Crear tabla maestro de transacciones llamada TRANSACCIONES:   

Id_transaccion numérico de 5 dígitos, PK Nom_transaccion character de 35 posiciones, obligatorio. Origen carácter de 1 posición restringido a (D,C), obligatorio.

2. Crear una tabla de transacciones por empleados llamada TRANS_X_EMPLEADOS:     

Sec_Transaccion numérico de 10 dígitos, PK Id_empleado numérico de 5 dígitos, PK, FK referenciada a EMPLEADOS. Id_transaccion numérico de 5, PK, FK referenciada a TRANSACCIONES. Fecha_transaccion tipo fecha, obligatorio. Monto_transaccion numérico de 12 dígitos y 2 decimales, obligatorio

3. Hacer una Forma para la tabla DEPTOS, que se llamará DEPTOS.   

Desplegar 10 registros. Usar propiedades para integridad de restricciones Usar ScrollBar

4. Modificar la forma de empleados creada en el ejercicio I y adicionarle un bloque basado en la tabla TRANS_X_EMPLEADOS, este nuevo bloque debe ser:    

Un Detalle del bloque EMPLEADOS Desplegar 5 registros Usar ScroolBar Que permita Insertar, Eliminar o Modificar sus registros.

Pag. 55

Forms 6.0i

Por R. Rivas

CAPITULO VII EDITORS, LIST OF VALUES AND RECORD GROUPS

Pag. 56

Forms 6.0i EDITORS

Por R. Rivas

Los editores son objetos de Oracle Forms que asociados con un item permite editar el contenido de éstos en una ventanita. Estos son semejante a la propiedad Multi-Line en los items, sólo que en esta caso el contenido del item es mostrado en una ventanita independiente. PROPIEDADES DE LOS EDITORES DE TEXTO:

Pag. 57

Forms 6.0i LISTA OF VALUES (LOVs)

Por R. Rivas

Son objetos de Oracle Forms que nos sirven para permitir al usuario hacer una consulta de posible valores para un Text Item, que pueden ser de valores fijos o variables. Cuando estamos planeando crear una lista de valores, usted necesita considerar los siguientes objetos de Oracle Forms: Record Group Es un objeto de Oracle Forms que es usado para almacenar arreglos de valores (SQL) que son presentados en una lista de valores. El Record Group debe ser creado primero, o como parte de los procesos de creación de las listas de valores. LOV Representa la lista en si, donde son presentados los valores soportados por el Record Group, permite al operador seleccionar los valores y escribir estos en los ítems especificados o en las variables. Text Items El campo principal que usted define en un LOV usualmente es el campo que retorna el valor desde el Record Group. Nota: Se puede hacer una lista fija utilizando un campo de tipo LIST ITEM.

Pag. 58

Forms 6.0i CREANDO UNA LISTA DE VALORES:

Por R. Rivas

Estas se pueden crear asistido del Wizard o Manualmente. Si es manual se tendrán que configurar todas las propiedades y definir antes el Record Group que se utilizara.

Pag. 59

Forms 6.0i PROPIEDADES DE UNA LISTA DE VALORES (LOV)

Por R. Rivas

En la propiedad Column Mapping, se especifican los campos donde quedaran los valores seleccionados en la lista.

Pag. 60

Forms 6.0i RECORD GROUPS

Por R. Rivas

Se pueden definir de manera independiente a las LOVs y luego asociarlos. Estos pueden ser basados en un query o con valores fijo. Based on the Query Below:

Static Values:

PROPIEDADES PARA RECORD GROUP:

Pag. 61

Forms 6.0i

Por R. Rivas

Pag. 62

Forms 6.0i

Por R. Rivas

EJERCICIO III 1. Modificar la forma llamada EMPLEADOS 

Adicionar una lista de valores para el campo de departamento utilizando la tabla DEPTOS



Adicionar un campo para la descripción del departamento que este en el bloque de Empleados, pero que no pertenezca a la tabla de este.



Hacer una lista de valor fija para los campos con valores fijo (check). Usar un campo tipo LIST ITEM o una LOV fija.

Pag. 63

Forms 6.0i

Por R. Rivas

CAPITULO VIII TRIGGERS (DISPARADORES)

Pag. 64

Forms 6.0i

TRIGGERS

Por R. Rivas

Son unidades de programas o bloques PL/SQL, que se ejecutan o se disparan mediante la ocurrencia de un evento. Cada trigger que se defina esta asociado con un evento en especifico. Oracle Forms define un extenso rango de eventos asociados al los Triggers, como son:     

Eventos de Relación de Query. Entrada de Datos y Validaciones. Navegación lógica y física de movimientos de Mouse Interacción del Operador con ítems de la forma. Errores y Mensajes.

En la columna Type, seleccionaremos el tipo de objeto que vamos a modificar, program Unit o Trigger. En Name, marcaremos el nombre del objeto y en Object a que nivel se encuentra el objeto que deseamos modificar, este último solo para los Triggers.

Pag. 65

Forms 6.0i TIPOS DE TRIGGERS:

Por R. Rivas

El tipo del trigger determina en que evento se dispara. Existen más de 100 biult-in trigger type, cada uno identificado por un nombre específico. El nombre del trigger, esta asociado al tipo y al evento. Por ejemplo: WHEN-VALIDATE-ITEM, se dispara cuando Oracle Forms valida un campo. PRE-QUERY, se dispara antes de que Oracle Forms ejecuta un Query en un Bloque. CODIGO DE PROGRAMACIÓN DE LOS TRIGGERS: Los códigos de programación de los triggers definen la acción a ejecutar cuando éste se dispare. Usted puede escribir un bloque PL/SQL, usando el PL/SQL Editor. En los códigos de programación de los triggers se pueden escribir sentencia como:  Estructura de un bloque PL/SQL(DECLARE, BEGIN, EXCEPTION Y END)  Sentencias SQL legales en un bloque PL/SQL, estas son pasadas al servidor para su ejecución.  Llamadas a sub-programas definidos por el usuario (procedimientos y funciones dentro de la forma o almacenadas en la base de datos)  Llamadas a sub-programas built-in, (Packages y Functions) incluidos en la herramienta Developer/2000. Los triggers funcionan en tres niveles de ejecución: 1. Triggers a Nivel de Forma: Son los que se disparan o ejecutan a nivel de la Forma completa. 2. Triggers a Nivel de Bloques: Son los que se disparan o ejecutan a nivel del Bloque al cual pertenecen. 3. Triggers a Nivel de Items: Son los que se disparan o ejecutan solo a nivel del ítems al cual pertenecen. Muchos de esos triggers pueden utilizarse en los tres niveles, la jerarquía de ejecución es del abajo hacia arriba. Primero a nivel de ítems, luego a nivel de Bloques y por último a nivel de Forma.

Pag. 66

Forms 6.0i Por R. Rivas A continuación definiremos algunos de los nombres de los triggers más comunes ofrecidos por Oracle Forms: Trigger

Se Disparan

Tecla

KEY-CLRBLK KEY-CLRFRM KEY-CLRREC KEY-COMMIT KEY-CREREC KEY-DELREC KEY-UP KEY-DOWN KEY-DUPREC KEY-ENTQRY KEY-EXEQRY KEY-LISTVAL KEY-NEXT-ITEM KEY-NXTBLK KEY-NXTREC

Cuando presionamos la tecla de limpiar Bloque Cuando presionamos la tecla de limpiar Formas Cuando presionamos la tecla de limpiar Registro Cuando presionamos la tecla de Grabar Cuando presionamos la tecla de Crear Registro Cuando presionamos la tecla de Borrar Registro Cuando presionamos la tecla de Subir un Registro Cuando presionamos la tecla de Bajar un Registro Cuando presionamos la tecla de Duplicar Registro Cuando presionamos la tecla de Patrón de Búsqueda Cuando presionamos la tecla de Ejecutar Búsqueda Cuando presionamos la tecla de Lista de Valores Cuando presionamos la tecla de Retorno o Tab Cuando presionamos la tecla de Próximo Bloque Cuando presionamos la tecla de Próximo Registro Cuando presionamos cualquier otra tecla que no este programada en el objeto. Cuando presionamos la tecla de Shift+Tab Cuando presionamos la tecla de Bloque Anterior Cuando presionamos la tecla de Anterior Registro Cuando presionamos la tecla para Editar un Campo Cuando presionamos la tecla para salir de la Formas

Clear_Block Clear_Forms Clear_Record Commit_Forms Create_Record Delete_Record Up Down Duplicate_Record Enter_Query Execute_Query List_Values Next_Item Next_Bloque Next_Record

KEY-OTHERS KEY-PREV-ITEM KEY-PRVBLK KEY-PRVREC KEY-EDIT KEY-EXIT

Trigger ON-COMMIT ON-ROLLBACK ON-LOGON ON-ERROR ON-MESSAGE ON-MESSAGE ON-POPULATE-DETAILS ON-INSERT ON-DELETE ON-UPDATE

Previous_Item Previous _Bloque Previous _Record Edit Exit_Forms

Se Disparan Al momento de Grabar un Registro Al momento de Desechar los Cambios en la Data. Al momento de Login a la Base de Datos Al momento de producirse un error. Al momento de mostrar un Mensaje Al momento de Dar Mensaje Al momento de Procesar los Bloques Master Detail Al momento de Insertar un Registro Al momento de Borrar un Registro Al momento de Actualizar un Registro

Pag. 67

Forms 6.0i

Por R. Rivas

Trigger POST-BLOCK POST-CHANGE POST-QUERY POST-INSERT POST-DELETE POST-UPDATE POST-RECORD

Se Disparan Después de pasar por el Bloque Después de cambiar el Valor de un Item Después de realizar un Query en un Bloque Después de Insertar un Registro Después de Borrar un Registro Después de Acuatizar un Registro Después de Pasar por el Registro

Trigger PRE-BLOCK PRE-COMMIT PRE-DELETE PRE-INSERT PRE-UPDATE PRE-RECORD

Se Disparan Antes de pasar por el Bloque Antes de Grabar Antes de Borrar un Registro Antes de Insertar un Registro Antes de Actualizar un Registro Antes de Entrar a un Registro

Trigger WHEN-BOTTON-PRESSED WHEN-CLEAR-BLOCK WHEN-NEW-BLOCK-INSTANCES WHEN-NEW-FORMS-INSTANCES WHEN-NEW-ITEM-INSTANCES WHEN-VALIDATE-ITEM WHEN-MOUSE-CLICK WHEN-MOUSE-DOUBLECLICK

Se Disparan Cuando presionamos el botón Cuando Limpiamos el Bloque Cuando el Control del Programa entra al Bloque Cuando el Control del Programa entra al Formas Cuando el Control del Programa entra al Item Cuando ejecutamos cualquier tecla de validación de Item. Cuando se hace click con el mouse Cuando se hace doble click con el mouse

Pag. 68

Forms 6.0i EJERCICIO IV

Por R. Rivas

1. Modificar la forma llamada EMPLEADOS   

Hacer un Trigger que valide el campo de departamentos. Mostrar un mensaje de errores si no encuentra el departamento. Buscar la descripción del departamento y desplegarlo en la columna DESC_DETPO.

Pag. 69

Forms 6.0i

Por R. Rivas

PROGRAMS UNIT (CREANDO UNIDADES DE PROGRAMAS)

Pag. 70

Forms 6.0i PROGRAM UNIT

Por R. Rivas

Son unidades de programas, Procedure, Function, Package Spec, Packege Body que se definen para hacer más estructurado nuestros códigos de programación, así como estandarizar nuestra aplicación. A continuación veremos la caja de dialogo que nos aparece cuando estamos creando un Program Unit.

Existen tres tipos de Program Unit: 

PROCEDURE son rutinas en pl/sql a los cuales se le pueden pasar parámetros de entrada , de salida o de entrada y salida. Ejemplo:

Se utiliza solo nombrándolo y pasándole los parámetros: 

Pruebas (param1, param2); FUNCTION Igual que los procedure pueden recibir parámetros, pero en adicionar retornan un valor. Ejemplo: Pag. 71

Forms 6.0i

Por R. Rivas

Se pueden utilizar de varias maneras, ejemplos: Asignado el valor que retorna a una variable: Variable := Pruebas (param1, param2); Haciendo una evaluación lógica: IF Pruebas (param1, param2) = 999 then ---End IF; Tambien se puede utilizar en una sentencia SQL, pero no deben haber parámetros de salida: Select Pruebas (param1, param2) from dual;

Pag. 72

Forms 6.0i Por R. Rivas  PACKAGE son functions y procedures agrupados en un solo objeto. Estos se dividen en Specification y Body. En el primero solo se nombran las funciones y procedimientos con sus parámetros y el segundo define el cuerpo de cada uno de ellos. Para crear un Package, primero se definen el Package Specification y luego el Packete Body Ejemplo de PACKAGE SPECIFICATION:

Pag. 73

Forms 6.0i Ejemplo de PACKAGE BODY:

Por R. Rivas

Los procesos y funciones de un paquetes tienen el mismo uso que las que no están en empaquetadas, la diferencia es que nos referimos a ellas de la siguiente manera: Packege_name.procedure_name(param1, param2); Variable := Packege_name.function_name(param1, param2);

Pag. 74

Forms 6.0i

Por R. Rivas

CAPITULO IX OBJECT GROUPS PARAMETERS PROPERTY CLASSES VISUAL ATTRIBUTES

Pag. 75

Forms 6.0i

OBJECT GROUPS (AGRUPACION DE OBJETOS)

Por R. Rivas

Este tipo de objeto de Oracle Forms tiene como finalidad agrupar objetos. Su uso solo se fundamenta en facilitar la acción de copiar objetos de una Forma a otra. Se crea colocando el cursor en el tipo de objeto de Object Group y presionando el Icon create del botton palette, y luego se van copiando los objetos que lo van a integrar.

PARAMETERS (PARAMETROS) Se utilizan para definir parámetros de recepción (IN) enviados a ésta. Los parámetros se referencia dentro de una forma de la siguiente manera: :PARAMETER.Nombre_parametro

Existe otra forma de pasar parámetros entre formas, que es la utilización de variables globales. Estas variables se pueden utilizar en cualquier bloque PL/SQL, ya sea en la definición de un Trigger o un Program Unit. No es necesario definir este tipo de variables, solo se le asigna valor. Son de tipo caracter y permanecen en memoria durante la sección. :GLOBAL.Nombre_parametro := literar_char;

Pag. 76

Forms 6.0i

PROPERTY CLASSES (CLASES DE PROPIEDADES)

Por R. Rivas

Este tipo de objeto se usa para agrupar propiedades comunes entre objetos. Se crea colocando el puntero sobre el tipo de objeto y presionando el botón de Create en el Botton Palette. Automáticamente el Forms le asignara un nombre, presionando doble-click aparecerá la venta que indicamos más abajo: Las Clases están compuestas de triggers que se traspasan a los objetos que se le asignen en la propiedad subclass Information.

VISUAL ATTRIBUTES (ATRIBUTOS VISUALES) Son objetos que agrupan una serie de atributos de apariencia visual para ser aplicado a otros objetos. Para crear un visual attribute se colocará el puntero en este objeto en el Object Navigator y presionando el botón create en el Botton Palette. Luego aparecerá la siguiente ventana. PROPIEDADES DE ATRIBUTOS VISUALES:

Pag. 77

Forms 6.0i

Por R. Rivas

Pag. 78

Forms 6.0i

Por R. Rivas

CAPITULO X WINDOWS (VENTANAS)

Pag. 79

Forms 6.0i

WINDOWS

Por R. Rivas

Se refiere a la definición de la ventana donde estarán los Canvases de una forma, para definirle el tamaño, ubicación y propiedades especificas de Windows, etc. Al igual que casi todos los objetos de Oracle Forms el windows tiene propiedades, las cuales son:

Para Maximizar los window se utiliza: SET_WINDOW_PROPERTY(FORMS_MDI_WINDOW, WINDOW_STATE, MAXIMIZE); SET_WINDOW_PROPERTY('WINDOWS_ROOT', WINDOW_STATE, MAXIMIZE);

Pag. 80

Forms 6.0i

Por R. Rivas

INSTRUCCIONES MAS USADAS EN ORACLE FORMS

Pag. 81

Forms 6.0i

Por R. Rivas

INSTRUCCIONES: Forma Clear_Frm Close _Form Exit_Form Cammit_Form Call_Form Form_Success Form_Failure Raise form_trigger_f ailure Synchronize Commit RollBack

Record Create_Record Delete_Record Clear_Record Next_Record Previous_Record Last_Record First_Record Go_Record

Bloque Clear_Block Go_Bock Next_Block Previous_Block Scroll_Down Scrol_Up Execute_Query Enter_Query

Campo Clear_Item Go_Item Next_Item Previous_Item Go_Field Next_Field Previous_Field List_Values

Up Dwon Set_record_property

Cancel_Query Set_Block_Property Get_Block_Propert y

Set_Item_Property Get_Item_Property Edit_Field

Execute_trigger

Get_record_propert y

Post Show_View Hide_View Run_product Set_application_property Get_application_property Las propiedades de los objetos pueden ser manipuladas a través de las instrucciones SET y GET PROPERTY.

VARIABLES DE SYSTEM: :SYSTEM.record_Status :SYSTEM.cursor_record :SYSTEM.cursor_item :SYSTEM.cursor_value :SYSTEM.cursor_block :SYSTEM.cursor_block_status :SYSTEM.current_value :SYSTEM.current_datetime :SYSTEM.current_record :SYSTEM.current_block :SYSTEM.message_level :SYSTEM.tab_new_page :SYSTEM.tab_previous_page

Pag. 82

Forms 6.0i EJERCICIO V 1.

Por R. Rivas

Crear una forma que se llamará NOMINA    

 

No basado en una tabla Pedir la fecha de la transacción Hacer un disparador que valide que haya transcurrido mas de 10 días entre la fecha de la última transacción y la fecha de la transacción que se desea hacer. Crear un program Unit llamado PROCESA_NOMINA con las siguientes características:  Que Inserte en la tabla TRANS_X_EMPLEADOS un registro por cada transacción por empleados, considerando lo siguiente:  Si el porcentaje de la transacción de la tabla TRANSACCIONES es nulo se sustituye por el sueldo del empleado en la tabla EMPLEADOS.  Si el porcentaje de la transacción en la tabla TRANSACCIONES es no nulo se multiplica el Sueldo con el porcentaje.  La secuencia de la transacción será la mayor existente en la tabla TRANS_X_EMPLEADOS mas 1.  La fecha de la transacción será la fecha del sistema. Crear un botón para ejecutar el proceso PROCESA_NOMINA. Se debe mostrar un mensaje al finalizar el proceso, ya sea que terminó bien o mal utilizando una Alerta.

Pag. 83

Forms 6.0i

Por R. Rivas

CAPITULO XI MENUS (DISEÑO DE MENUES)

Pag. 84

Forms 6.0i MENUS

Por R. Rivas

Esta herramienta nos permite elaborar Menu de tipo Pull Down, utilizando los recursos y los tipos de objetos de Oracle Forms. Los menúes se le asocian a una forma y están contenidos en esta.

Los objetos a continuación funcionan igual en Forms como en Menus      

Attached Libraries Object Group Parameter Program Unit Property Calsses Visual Attributes

Pag. 85

Forms 6.0i JERARQUIA DE UN MENU:

Por R. Rivas

La jerarquía de un menú es la siguiente: 1. Menú o Módulo: Es el nombre del menú y a la vez el nombre del archivo. 2. Menú Principal: Es el Menú Principal, es el padre, del cual dependen los demás submenúes e items. 3. Items del Menú Principal: Son los elementos del menú principal, que pueden ser opciones o sub-menúes. 4. Sub-Menúes: Representan los items del menú principal que son de tipo menú (Submenúes). 5. Items de los Sub-Menúes: Representan los elementos de los sub-menúes. PROPIEDADES DEL MODULO MENU

GENERAL 

Name: especifica el nombre del módulo Pag. 86

Forms 6.0i Por R. Rivas  Subclass Information (Clase) Se le especifica el nombre que corresponde a un grupo de propiedades (property classes) para que tome las propiedades definidas en él para todo el menú. 

Comments Comentarios de información general sobre el menú.

Pag. 87

Forms 6.0i FUNCTIONAL

Por R. Rivas



Main Menu: Especifica el nombre del menú principal.



Menu Directory: Especifica el directorio en el que Forms debe buscar el .MMX menú al ejecutarse



Menu Filename: Especifica el nombre del menú. . Startup Code: Especifica un PL/SQL, el cual se ejecutará al inicio del menú.



MENU SECURIRY  Use Security: Se indica si vamos o no a utilizar los privilegios de los roles en el menú.  Menu Roles: Esta propiedad se refiere a los grupos de Privilegios de la Base de Datos que vamos a usar en nuestro menú.

Pag. 88

Forms 6.0i PROPIEDADES DEL MENU PRINCIPAL (Main Menu):

Por R. Rivas

Pag. 89

Forms 6.0i PROPIEDADE DE LOS ÍTEMS DE MENUS:

Por R. Rivas

Pag. 90

Forms 6.0i GENERAL

Por R. Rivas



Name: Especifica el nombre del item.



Subclass Information (Clase) Se le especifica el nombre que corresponde a un grupo de propiedades (property classes) para que tome las propiedades definidas en él para todo el menú.



Comments Comentarios de información general sobre el menú.

FUNCTIONAL 

Enable Disponible Sí o No.



Label Es el texto que se mostrará en la opción en el menú.



Menu Item Type: Representa el tipo despliegue del item, que puede ser: -

Plain Check Radio Separator Magic



Magic Item Especifica uno del los items predefinido por Menus, como son: Cut, Copy, Paste, Clear, Undo, About, Help, Quit, or Window. Sólo es válido si el Menu Item Type es Magic.



Menu Item Radio Group Especifica el nombre del Grupo de Radios al que el item del menú pertenece. Sólo es válido si el Menu Item Type es Radio.



Command Type: Es la clase de comando que se ejecutará al seleccionar el item, los tipos son Menu, Pl/Sql, Plus, Form y Macro



Menú Item Code: Es en si, el comando a ejecutar, de acuerdo al tipo.

Pag. 91

Forms 6.0i MENU SECURIRY

Por R. Rivas



Menu Item Roles: se definen los privilegios de la base de datos, que determinan quien tiene o no permiso sobre la opción



Display y/o Privilege: determina si se muestra o no la opción en el menú, atendiendo a los privilegios.

PHYSICAL 

Visible Si el item estará visible sí o no en el menú.

Pag. 92

Forms 6.0i ESTRUCTURA FISICA DEL DISENO DE UN MENU:

Por R. Rivas

Los objetos de crean y eliminan a través de estos botones , los dos primero para crear objetos hacia abajo y hacia los lados respectivamente y el ultimo para borrar. Estos botones se utilizan para expandir o colapsar los nodos del menú.

Pag. 93

Forms 6.0i COMANDOS ÍTEMS DE MENUS: Son unidades de programas de PL/SQL y Oracle Forms.

Por R. Rivas

Pag. 94

Forms 6.0i EJERCICIO VI:

Por R. Rivas

Crear el siguiente menú utilizando las formas y procesos de los ejercicios anteriores: 

 



Mantenimientos  Transacciones  Departamentos  Empleados Procesos  Generar Nominas Reportes  Listado de Transacciones  Listado de Departamentos  Listado de Empleados  Reporte de Nominas Salir

Pag. 95