0% encontró este documento útil (0 votos)
185 vistas

Manual Form6 Esp

The document provides an overview of Oracle Forms 6i, discussing the different types of objects used in form building like forms, blocks, fields, canvases, triggers, and menus. It also covers concepts like the object navigator, properties of different objects, and includes examples of practical exercises for working with forms.

Cargado por

Luis Figueroa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
185 vistas

Manual Form6 Esp

The document provides an overview of Oracle Forms 6i, discussing the different types of objects used in form building like forms, blocks, fields, canvases, triggers, and menus. It also covers concepts like the object navigator, properties of different objects, and includes examples of practical exercises for working with forms.

Cargado por

Luis Figueroa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 100

Forms 6.0i Pagina No.

1
Por R. Rivas

ORACLE FORMS 6i

Por R. Rivas
Forms 6.0i Pagina No. 2
Por R. Rivas

Contenido :

WELCOM E TO THE FOR M BUILDER 04


NAVEGADOR DE OBJETOS ( OBJECTS NAVITATORS) 10

FOR M S
CAPITULO I 14
FORMAS 15
PROPIEDADES 17
CAPITULO II 22
BLOQUES 23
PROPIEDADES 25
CAPIPTULO III 33
CAMPOS 34
PROPIEDADES 34
CAPITULO IV 42
ALERTAS 44
PROPIEDADES 44
CAPITULO V 45
CANVASES 46
PROPIEDADES 47
CAPITULO VI 50
RELACIONES ENTRE BLOQUES 51
PROPIEDADES 52
CAPITULO VII 55
EDITORES 56
LISTAS DE VALORES ( LOVs) 57
RECORD GROUPS 60
CAPITULO VIII 63
TRIGGERS 64
PROGRAMS UNIT 69
CAPITULO IX 74
OBJET GROUPS 75
PARAMETERS 75
PROPERTY CLASSES 76
VISUAL ATTRIBUTES 76
CAPITULO X 77
WINDOWS 78
INSTRUCCIONES Y VARIABLES DE SYSTEM 79
Forms 6.0i Pagina No. 3
Por R. Rivas

M EN U S
CAPITULO XI 82
MENUS 83
JERARQUIA DE MENUS 84
PROPIEDADES
MODULE MENU 85
MAIN MENU 87
ITEMS MENU 88
CAPITULO XII 90
ESTRUCTURA DE MENUS 91
COMANDOS ÍTEMS DE MENUS 92

EJER CICIOS PR ACTICOS


EJERCICIO I
49
EJERCICIO II 54
EJERCICIO III 62
EJERCICIO IV 68
EJERCICIO V 81
EJERCICIO VI 93
Forms 6.0i Por R.
WELCOME TO THE FORM BUILDER

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.
Forms Por R.
LEARNING (Referencias Rápidas):

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.
Forms Por R.
OBJECTS NAVIGATOR:

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.
Forms Por R.

FORMS
(DISEÑO DE FORMAS)
Forms Por R.
OBJETOS EN FORMS DESIGNER

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.
Forms Por R.
Tipos de Objetos

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.
Forms Por R.

FORMS OBJECTS NAVIGATOR


(NAVEGADOR DE OBJETOS)
Forms Por R.
OBJECTS NAVIGATOR

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 desarrollada 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. De Forma
2. De Bloques
3. De Items o Campos.

Alerts: son alertas o avisos que el programador define para mostrar sus errores,
mensajes o advertencias.
Forms Por R.
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.

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..
Forms Por R.

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.
Forms Por R.

CAPITULO I
FORMS (CREANDO
FORMAS)
Forms Por R.
CREANDO UN MODULO DE FORMULARIO:

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.


Forms Por R.

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


Forms Por R.

FORMS PROPERTY
(PROPIEDADES FORMAS)
Forms Por R.
FORMS PROPERTY

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
Forms Por R.
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
Forms Por R.
MENU SECURITY

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:


Forms Por R.
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.

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
Forms Por R.

CAPITULO II
BLOCKS (CREANDO
BLOQUES)
Forms Por R.

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.


Forms Por R.

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


Forms Por R.
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
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)
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.
Pag. 26
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

Pag. 27
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
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
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
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.

Pag. 30
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.

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.

Pag. 31
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á.

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
VISUAL ATTRIBUTES

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
CAPITULO III
ÍTEMS (CREANDO
CAMPOS)

Pag. 34
CREANDO ITEMS (CAMPOS) DENTRO DE UN BLOQUE

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 doble-
click sobre el renglón de Item.

PROPIEDADES DE LOS ITEMS (CAMPOS)

Pag. 35
Forms Por R.
Las propiedades de un item se dividen en los siguientes
grupos:

- 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 Por R.
FUNCIONAL

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 Por R.
6.0i
DATA
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 Por R.
CALCULATION

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 Por R.
DATABASE

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

Pag. 40
Forms Por R.

Visible (Visible)
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)


Pag. 41
Forms Por R.
Para indicar el color del fondo del Item (campo).

Pag. 42
Forms Por R.
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.

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. 43
Forms Por R.

CAPITULO IV
ALERTS (CREANDO
ALERTAS)

Pag. 44
Forms Por R.
ALERTS

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 (Parar, usada para errores)


Caution (Precaución, usada para advertencias)
Note (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. 45
Forms Por R.
PROPIEDADES DE ALERTAS

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. 46
Forms Por R.

CAPITULO V
CANVASES (CREANDO
PANTALLAS)

Pag. 47
Forms Por R.
CANVASES

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ú:
Forms Por R.

Pag. 46
Forms Por R.
PROPIEDADES DE CANVASES

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. 47
Forms Por R.

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. 48
Forms Por R.
EJERCICIO I

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. 49
Forms Por R.

CAPITULO VI
RELATIONS (CREANDO
RELACIONES ENTRE
BLOQUES)

Pag. 50
Forms Por R.
RELATIONS

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. 51
Forms Por R.
PROPIEDADES RELACIONES:

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)
Pag. 52
Forms Por R.
Determina la coordinación del bloque maestro con sus relaciones.

Prevent Masterless Operation


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. 53
Forms Por R.
EJERCICIO II

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. 54
Forms Por R.

CAPITULO VII
EDITORS, LIST OF VALUES
AND RECORD GROUPS

Pag. 55
Forms Por R.
EDITORS

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. 56
Forms Por R.
LISTA OF VALUES (LOVs)

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.

Pag. 57
Forms Por R.
Nota:
Se puede hacer una lista fija utilizando un campo de tipo LIST ITEM.

Pag. 58
Forms Por R.
CREANDO UNA LISTA DE VALORES:

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 Por R.
PROPIEDADES DE UNA LISTA DE VALORES (LOV)

En la propiedad Column Mapping, se especifican los campos donde quedaran los


valores seleccionados en la lista.

Pag. 60
Forms Por R.
RECORD GROUPS

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 Por R.

Pag. 61
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. 62
CAPITULO VIII
TRIGGERS
(DISPARADORES)

Pag. 63
TRIGGERS

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. 64
TIPOS DE TRIGGERS:

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. 65
A continuación definiremos algunos de los nombres de los triggers más comunes ofrecidos por
Oracle Forms:

Trigger Se Disparan Tecla


KEY-CLRBLK Cuando presionamos la tecla de limpiar Bloque Clear_Block
KEY-CLRFRM Cuando presionamos la tecla de limpiar Formas Clear_Forms
KEY-CLRREC Cuando presionamos la tecla de limpiar Registro Clear_Record
KEY-COMMIT Cuando presionamos la tecla de Grabar Commit_Forms
KEY-CREREC Cuando presionamos la tecla de Crear Registro Create_Record
KEY-DELREC Cuando presionamos la tecla de Borrar Registro Delete_Record
KEY-UP Cuando presionamos la tecla de Subir un Registro Up
KEY-DOWN Cuando presionamos la tecla de Bajar un Registro Down
KEY-DUPREC Cuando presionamos la tecla de Duplicar Registro Duplicate_Record
KEY-ENTQRY Cuando presionamos la tecla de Patrón de Búsqueda Enter_Query
KEY-EXEQRY Cuando presionamos la tecla de Ejecutar Búsqueda Execute_Query
KEY-LISTVAL Cuando presionamos la tecla de Lista de Valores List_Values
KEY-NEXT-ITEM Cuando presionamos la tecla de Retorno o Tab Next_Item
KEY-NXTBLK Cuando presionamos la tecla de Próximo Bloque Next_Bloque
KEY-NXTREC Cuando presionamos la tecla de Próximo Registro Next_Record
KEY-OTHERS Cuando presionamos cualquier otra tecla que no este
programada en el objeto.
KEY-PREV-ITEM Cuando presionamos la tecla de Shift+Tab Previous_Item
KEY-PRVBLK Cuando presionamos la tecla de Bloque Anterior Previous _Bloque
KEY-PRVREC Cuando presionamos la tecla de Anterior Registro Previous _Record
KEY-EDIT Cuando presionamos la tecla para Editar un Campo Edit
KEY-EXIT Cuando presionamos la tecla para salir de la Formas Exit_Forms

Trigger Se Disparan
ON-COMMIT Al momento de Grabar un Registro
ON-ROLLBACK Al momento de Desechar los Cambios en la
Data. ON-LOGON Al momento de Login a la Base de Datos
ON-ERROR Al momento de producirse un
error. ON-MESSAGE Al momento de mostrar un
Mensaje ON-MESSAGE Al momento de Dar
Mensaje
ON-POPULATE-DETAILS Al momento de Procesar los Bloques Master Detail
ON-INSERT Al momento de Insertar un Registro
ON-DELETE Al momento de Borrar un Registro
ON-UPDATE Al momento de Actualizar un
Registro

Pag. 66
Trigger Se Disparan
POST-BLOCK Después de pasar por el Bloque
POST-CHANGE Después de cambiar el Valor de un Item
POST-QUERY Después de realizar un Query en un
Bloque POST-INSERT Después de Insertar un Registro
POST-DELETE Después de Borrar un Registro
POST-UPDATE Después de Acuatizar un Registro
POST-RECORD Después de Pasar por el Registro

Trigger Se Disparan
PRE-BLOCK Antes de pasar por el Bloque
PRE-COMMIT Antes de Grabar
PRE-DELETE Antes de Borrar un Registro
PRE-INSERT Antes de Insertar un Registro
PRE-UPDATE Antes de Actualizar un
Registro PRE-RECORD Antes de Entrar a un
Registro

Trigger Se Disparan
WHEN-BOTTON-PRESSED Cuando presionamos el botón
WHEN-CLEAR-BLOCK Cuando Limpiamos el Bloque
WHEN-NEW-BLOCK-INSTANCES Cuando el Control del Programa entra al Bloque
WHEN-NEW-FORMS-INSTANCES Cuando el Control del Programa entra al
Formas WHEN-NEW-ITEM-INSTANCES Cuando el Control del Programa entra
al Item WHEN-VALIDATE-ITEM Cuando ejecutamos cualquier tecla de
validación
de Item.
WHEN-MOUSE-CLICK Cuando se hace click con el mouse
WHEN-MOUSE-DOUBLECLICK Cuando se hace doble click con el mouse

Pag. 67
EJERCICIO IV

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. 68
PROGRAMS UNIT
(CREANDO UNIDADES
DE PROGRAMAS)

Pag. 69
PROGRAM UNIT

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); Pag. 70


FUNCTION

Pag. 71
Igual que los procedure pueden recibir parámetros, pero en adicionar retornan un
valor. Ejemplo:

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
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
Ejemplo de PACKAGE BODY:

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
CAPITULO IX
OBJECT GROUPS
PARAMETERS
PROPERTY CLASSES
VISUAL ATTRIBUTES

Pag. 75
OBJECT GROUPS (AGRUPACION DE OBJETOS)

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 Por R.
PROPERTY CLASSES (CLASES DE PROPIEDADES)

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 Por R.

CAPITULO X
WINDOWS
(VENTANAS)

Pag. 78
Forms Por R.
WINDOWS

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. 79
Forms Por R.

INSTRUCCIONES MAS
USADAS EN ORACLE FORMS

Pag. 80
Forms Por R.
INSTRUCCIONES:

Forma Record Bloque Campo


Clear_Frm Create_Record Clear_Block Clear_Item
Close _Form Delete_Record Go_Bock Go_Item
Exit_Form Clear_Record Next_Block Next_Item
Cammit_Form Next_Record Previous_Block Previous_Item
Call_Form Previous_Record Scroll_Down Go_Field
Form_Success Last_Record Scrol_Up Next_Field
Form_Failure First_Record Execute_Query Previous_Field

Pag. 81
Forms Por R.
Raise Go_Record Enter_Query List_Values
form_trigger_failure
Synchronize Up Cancel_Query Set_Item_Property
Commit Dwon Set_Block_Property Get_Item_Property
RollBack Set_record_property Get_Block_Property Edit_Field
Execute_trigger Get_record_property
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
EJERCICIO V

1. 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.
CAPITULO XI
MENUS (DISEÑO DE
MENUES)
MENUS

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
Forms Por R.
JERARQUIA DE UN MENU:

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
sub- menú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ú
(Sub- menúes).

5. Items de los Sub-Menúes: Representan los elementos de los sub-menúes.

PROPIEDADES DEL MODULO MENU

GENERAL

Name:
Forms Por R.
especifica el nombre del módulo

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ú.
Forms Por R.
FUNCTIONAL

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ú.
Forms 6.0i Por R.
PROPIEDADES DEL MENU PRINCIPAL (Main Menu):
Forms 6.0i Por R.
PROPIEDADE DE LOS ÍTEMS DE MENUS:
Forms Por R.
GENERAL

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
Forms Por R.
Menu, Pl/Sql, Plus, Form y Macro

Menú Item Code:


Forms Por R.
Es en si, el comando a ejecutar, de acuerdo al tipo.

MENU SECURIRY

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ú.
Forms Por R.
ESTRUCTURA FISICA DEL DISENO DE UN MENU:

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ú.
Forms Por R.
COMANDOS ÍTEMS DE MENUS:
Son unidades de programas de PL/SQL y Oracle Forms.
Forms Por R.
EJERCICIO VI:

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

También podría gustarte