manual forms developer 9i ii
TRANSCRIPT
GEDICA TRAINING & CONSULTING C.A.
ORACLE FORMSDEVELOPER
Oracle 9iDS Release 2
Oracle Forms Developer
1
GEDICA TRAINING & CONSULTING C.A.
ORACLE FORMS DEVELOPER
CAPÍTULO 1 6
INTRODUCCIÓN IDS – ORACLE FORMS DEVELOPER 6QUÉ ES IDS 7Componentes De iDS 7Interfaces Comunes 7Variables de Ambiente 10Conectándose A La Base De Datos: 11Personalizar iDS- Forms 12Personalizando Sesión de Forms 12
CAPÍTULO 2 13
FORM DEVELOPER ENVIRONMENT 13Form Developer Características. 14Forms Developer Ejecutables 14Menu Principal De Form Builder 14Form Builder Módulos 15Form Builder Componentes 16Data Blocks( Bloque de Datos) 17Tipos de Blocks 17Practica 1 18
CAPÍTULO 3 19
CREANDO UN FORM MODULE 19CREANDO UN FORM MODULE 20Usando los Wizards (Asistentes): 21Creando un Nuevo Bloque 21Creando un Nuevo Data Block Manualmente 24Data Block Funcionalidad 24Modificando el Diseño 25Guardando un Form Module 28Compilando un Form Module 28Ejecutando un Form Module 29Escoger Un Browser Para Ejecutar Un Form Module 30USANDO BLOQUES CON RELACIONES: 31Data Block Wizard - Master-Detail Page 32Practica 2 33
CAPÍTULO 4 34
Oracle Forms Developer
2
GEDICA TRAINING & CONSULTING C.A.
DATA BLOCKS Y FRAMES 34MODIFICANDO LA APARIENCIA DE UN DATA BLOCKS 35PROPIEDADES DE LOS OBJETOS: 35Múltiples Property Palettes 37PROPIEDADES DE UN BLOQUE DE DATOS (DATA BLOCKS). 37Creando un Control Block 40Eliminando un Data Block 40Practica 3 41
CAPÍTULO 5 42
TEXT ITEMS 42TEXT ITEMS 43Creando un Text Item 43Modificando la apariencia de un Text Item 43Practica 4 48
CAPÍTULO 6 49
CREANDO LOVS Y EDITORS 49LOVS Y EDITORS 50LOVS 50Creando una lista de valores 50Crear un LOV utilizando el LOV Wizard: 51Propiedades de las Lista de valores LOV. 55Recomendaciones para LOV 56EDITORS 56Creando un Editor: 57Asociando un Editor a un text item 57Practica 5 58
CAPÍTULO 7 59
CREANDO ADICIONAL INPUT ITEMS 59ADICIONAL INPUT ITEMS 60Creando un Check Box 60Propiedades Específicas de un Check Box 61Creando un List Item: 61Beneficios de los List Items: 63Propiedades Específicas para un List Item 63Creando Radio Groups 64Beneficios del Radio group 64Propiedades Específicas para un Radio Group 65Radio Group 65Radio Button 65Practica 6 65
Oracle Forms Developer
3
GEDICA TRAINING & CONSULTING C.A.
66
CAPÍTULO 8 66
NON-INPUT ITEMS 66NON-INPUT ITEMS 67Display Items 67Creando un Display Item 67Image Items 68Creando un Image Item 69Propiedades Específicas de Image Item 69Buttons 69Propiedades Específicas de un Button 70Calculated Items 70Modos de Cálculos 70Propiedades Específicas para un Calculated Item 71Reglas para los Formula Items 71Reglas para los Summary Items 72Hierarchical Item 72Practica 7 72
CAPÍTULO 9 74
CREANDO WINDOWS Y CONTENT CANVASES 74WINDOWS Y CANVASES 75Windows 75Canvas 75TIPOS DE CANVAS: 75Creando un Content Canvas 75Relacion entre el window y el canvas. 75Tipos de Windows 76Propiedades De Los Windows. 76GUI Hints 77Propiedades funcionales para GUI Hints 77Creando un Nuevo Window. 77Practica 8 78
CAPÍTULO 10 79
OTROS TIPOS DE CANVAS 79OTROS TIPOS DE CANVAS 80STACKED CANVAS 80Stacked Canvas Propiedades 80Viewport Property: 80Physical Property: 80
Oracle Forms Developer
4
GEDICA TRAINING & CONSULTING C.A.
Toolbars 81Toolbar Propiedades 81Canvas PROPIEDADES 81Window Propiedades 81Form Module Propiedades 81Tab Canvas 82Practica 9 82
CAPÍTULO 11 83
INTRODUCCIÓN A LOS TRIGGERS 83FORM BUILDER TRIGGERS 84Componentes del Alcance de un Trigger 84Componentes de un Tipo de Trigger 85Componentes del Código de un Trigger 85Jerarquía de Ejecución 85
CAPÍTULO 12 86
CREANDO TRIGGERS 86CREAR UN TRIGGER 87Propiedades de un Trigger 87Form Builder Built-in Subprogramas 87USANDO LOS TRIGGERS 88Practica 10 90Practica 11 90Practica 12 90
CAPÍTULO 13 91
MESSAGES Y ALERTS 91MESSAGES Y ALERTS 92Controlando los mensajes del sistema: 92ALERTS: 93Creando un Alert: 93Propiedades de un alert: 93Como Mostrar un Alert: 94Practica 13 94
CAPÍTULO 14 95
INTEGRANDO REPORTES A UNA FORMA 95Creando un reporte desde Form Builder 96Propiedades del REPORT 97Procedimientos de Form para Integrar con Report: 98
Oracle Forms Developer
5
GEDICA TRAINING & CONSULTING C.A.
Capítulo 1
INTRODUCCIÓN iDS – ORACLE FORMS DEVELOPER
Oracle Forms Developer
6
GEDICA TRAINING & CONSULTING C.A.
QUÉ ES IDS
Es un conjunto de herramientas de Oracle dirigidas a compañías interesadas en que su
negocio crezca en e-commerce y aplicaciones Web.
Componentes De iDS
Oracle iDS consta de los siguientes componentes:
Oracle Forms Developer
Oracle Reports
Oracle Designer
Oracle JDeveloper
Oracle Portal
Oracle Discoverer
Interfaces Comunes
Oracle iDS: Forms y Reports comparten un conjunto de interfaces comunes en cada uno
de sus componentes. Estas ayudan a la flexibilidad y productividad en el desarrollo dentro de
Oracle iDS.
Object Navigator: Es una estructura jerárquica la cual permite localizar y manipular los
objetos de forma fácil y rápida. La jerarquía se muestra por indentación y nodos expandibles.
Oracle Forms Developer
7
GEDICA TRAINING & CONSULTING C.A.
Property Palette: Todos los objetos de un módulo, incluyendo el módulo en si, tienen
propiedades que se pueden ver y modificar a través de esta paleta de propiedades. Entre sus
características esta copiar y rehusar las propiedades de un objeto a otro.
Layout Editor o Layout Model: Es un diseñador gráfico para crear y ordenar los items y
objetos gráficos de su aplicación. Usted puede diseñar el estilo, color, tamaño de los objetos.
Oracle Forms Developer
8
GEDICA TRAINING & CONSULTING C.A.
PL/SQL Editor: es una funcionalidad que permite el desarrollo de Triggers,
procedimientos, funciones y paquetes en Oracle Forms, así como el desarrollo de librerías de
programas de PL/SQL.
Oracle Forms Developer
9
GEDICA TRAINING & CONSULTING C.A.
Variables de Ambiente
Oracle Forms Developer usa muchas variables de ambiente, estas tienen valores
predeterminados, los cuales pueden ser modificados en su ambiente para diferentes aplicaciones.
Forms Builder usa algunas de estas variables para localizar los archivos durante la ejecución.
FORMS90_PATH: Una ruta que indica a Forms Builder donde buscar los archivos
durante la ejecución de la aplicación.
REPORTS_PATH: indica a Reports la ruta de los archivos.
UI_ICON: Indica donde buscar los iconos para Report y las versiones anteriores de
FORMS. Oracle9iDS - FORMS no usa una plataforma especifica de formato de
imágenes cuando despliega iconos (*.icon no es compatible con JAVA). Los formatos
usados son GIF y JPG (ver documentación webicons.pdf de ORACLE).
Para añadir iconos personalizados a sus aplicaciones debe seguir el siguiente
procedimiento, el cual es uno de las tres formas que se tienen para el uso de iconos
personalizados.
Añadiendo ICONOS a archivos JAR
Para crear archivas Java (JAR) para imágenes, se necesita JDK (Java
Development Kit), o Java 2 Standard Edition Development Kit
(J2SDK o SDK). J2SDK es el nuevo nombre usada para denominar
la anterior versión de JDK.
Oracle9LDS y Oracle9LAS contienen un JDK directorio con la más
reciente versión de SDK. El directorio /bin de esta carpeta, contiene
el utilitario Jar que se encarga de crear y/o extraer archivos de
imágenes en/de archivos Jar, respectivamente.
Para crear archivos Jar que contengan los iconos que serán usados en
sus aplicaciones FORMS, se debe usar el siguiente comando desde el
directorio donde se encuentran los archivos *.gif (imágenes iconos)
<ORACLE9iDS HOME>/jdk/bin/jar –cfv <<nombre-archivo-
jar>> *.gif
Oracle Forms Developer
10
GEDICA TRAINING & CONSULTING C.A.
Una vez creado el archivo que contiene las imagines requeridas para
los items de control buttons y tree, el siguiente paso es configurar el
uso de este archivo en formsweb.cfg, el cual es el archivo de
configuración de ciertos parámetros que permiten personalizar la
ejecución y desarrollo de sus aplicaciones. Puede usar el editor de
texto de su preferencia para abrir este archivo de configuración, el
cual se encuentra ubicado en la carpeta <ORACLE9iDS
HOME>/forms90/server para Oracle9LDS or Oracle9LAS. Para
Oracle9LAS, usted debe editar este archivo a través de Oracle9L
Enterprise Manager.
En la sesión denominada “configuration sections” dentro de
formsweb.cfg, la cual se encuentra localizada al final del archivo,
usted debe crear una nueva configuración para su aplicación
añadiendo las siguientes líneas:
[your Forms name]form=yourModule.fmxarchive_jini=f90all_jinit.jar, <<nombre-archivo-jar>>imageBase=codebase
El parámetro “imagebase” configurado a “codebase” significa que FORMS buscara en forms90/java URL cuando neceste descargar las imágenes.
Esta aplicación es llamada en la Web usando el siguiente URL:http:/ / <hostname>:<port>/ forms90/ f90servlet?config= <<your Forms name>>
Conectándose A La Base De Datos:
Si Ud. quiere construir aplicaciones que accesen objetos de la base de datos, entonces necesita
conectarse a una cuenta de base de datos desde Form Builder.
Seleccione el menú File – Connect
Oracle Forms Developer
11
GEDICA TRAINING & CONSULTING C.A.
Ingrese el usuario, el password y el nombre de la base de datos.
Personalizar iDS- Forms
Para personalizar ciertas características de sus aplicaciones como: Tamaño de despliegue
de las ventanas en la web, Utilización de imágenes personalizadas (iconos), Conexión a la base
de datos, Definir Rutas (paths) virtuales, entre otras características, existen los siguientes
archivos de configuración.
<Oracle9ids HOME>/forms90/server/formsweb.cfg
<Oracle9ids HOME>/forms90/server/forms90.conf
<Oracle9ids HOME>/forms90/java/oracle/forms/registry/Registry.dat
Personalizando Sesión de Forms
Para personalizar la ejecución de sus aplicaciones existe una opción de preferencias en
Forms Builder en la cual, entre otros aspectos, usted puede definir:
Aspectos generales de la compilación
Dirección de URL y configuración de corrida
Acceso a librerías
Características de los Wizards.
Oracle Forms Developer
12
GEDICA TRAINING & CONSULTING C.A.
Capítulo 2
FORM DEVELOPER ENVIRONMENT
Oracle Forms Developer
13
GEDICA TRAINING & CONSULTING C.A.
Form Developer Características.
Con Form Builder usted puede:
Insertar, Actualizar, Eliminar y Consultar datos
Mostrar Datos: Texto, Sonido, Video, Imágenes, etc
Accesar aplicaciones Gráficas y OLE2 directamente
Usar Menus integrados en las aplicaciones
Enviar datos directamente a Reporte
Forms Developer Ejecutables
Form Builder comprende dos ejecutables, que usted puede acceder para el diseño de
sus aplicaciones, además de la instancia de OC4J la cual debe ser iniciada para le ejecución
de la aplicación.
Form Builder
Form Compiler
FORMS 9i D:\ORANT\BIN\ifbld90.EXE module=module userid=scott/tiger
Menu Principal De Form Builder
El menú principal contiene opciones que le permiten crear, modificar y manipular sus
módulos Form, además de opciones para personalizar su sesión.
Oracle Forms Developer
14
GEDICA TRAINING & CONSULTING C.A.
Form Builder Módulos
Una aplicación en Form consiste de muchos módulos. Un módulo es el mayor
componente de su aplicación. Se pueden encontrar 4 tipos de módulos, los cuales se pueden
combinar para crear una aplicación.
FORM MODULES: Es el principal componente de una aplicación el cual muestra la
data con la cual el usuario interactuará.
MENU MODULES: Es utilizado por los usuarios para ejecutar las funciones de su
aplicación, Form Builder provee un menú predeterminado para cada forma, el cual contiene
las operaciones básicas como insertar, actualizar, borrar, consultar. Sin embargo, Ud. Puede
crear un módulo menú con los requerimientos de su conveniencia y adjuntarlo a módulo
form.
OBJECT LIBRARY MODULES: es un repositorio común para objetos estándar
de form builder, simplifica la reutilización de objetos y ayuda a mantener la consistencia en
su ambiente de desarrollo.
Oracle Forms Developer
15
GEDICA TRAINING & CONSULTING C.A.
PL/SQL LIBRARY MODULES: es un conjunto de programas de PL/SQL que
pueden ser llamados desde otros módulos.
Form Builder Componentes
Se pueden encontrar 4 tipos de componentes en Form Builder
BLOCKS: Cada forma consta de uno o mas bloques. Un bloque es el
dueño lógico de los items. Cada ítem esta asociado a un bloque. Los items
de un bloque están relacionados, pueden corresponder a columnas de una
tabla de la base de datos o pueden necesitar ser parte del mismo ciclo de
navegación.
ITEMS: Son objetos de interfaz que muestran la data al usuario y le
permiten interactuar con las misma dependiendo del tipo de ítem, hay
diferentes tipos los cuales son agrupados de forma lógica a través de los
bloques y visiblemente a través de los canvases.CANVAS: Es la base
sobre la que se sitúa el texto plano y los items. Cada ítem hacer referencia a
un canvas en sus propiedades. Los items de un mismo bloque se pueden
visualizar en canvas diferentes. Un canvas no es un elemento de interface
por si mismo, para verlo a el y a sus componentes, el canvas se debe mostrar
en un window.
WINDOWS: un window es por si mismo un frame vacío. Pueden ser de
2 tipos Modales o no modales. Un window modal exige que el usuario
responda o descarte la ventana antes de hacer nada en cualquier otro window
de la aplicación, se distinguen por la falta de barra de desplazamiento y la
incapacidad de ser minimizadas a iconos. Un window no modal permite el
acceso a otras ventanas de la aplicación sin descartar la primera, permite al
usuario minimizar, maximizar, mover y cambiar el tamaño de la ventana.
Oracle Forms Developer
16
GEDICA TRAINING & CONSULTING C.A.
Data Blocks( Bloque de
Datos)Los Blocks proveen mecanismos para agrupar los Items dentro de una
Unidad Funcional. Se puede ver como una colección de items o como una
colección de registros, cada uno de los cuales tiene la misma estructura. Los
bloques no tienen representación física, solamente los Items son visible a los
usuarios.Tipos de BlocksHay 2 tipos principales de blocks en Form
BuilderData Blocks: corresponde a una tabla , a una vista de la base de
datos o al resultado de un stored procedure y controla un numero de
registros que corresponden a las filas de la tabla o vista.Control Blocks: No
se corresponde a una tabla o vista y sus registros no se corresponden a filas
de la base de datos. Normalmente representan un conjunto de elementos con
valores únicos, que tienen solo un único registro
Practica 1Utilizando el asistente,
crear un form module que consulte todos los registros de la tabla s_dept.
Oracle Forms Developer
17
GEDICA TRAINING & CONSULTING C.A.
1. Revise las propiedades de los siguientes objetos creados: Module, Block, Item,
Canva
Oracle Forms Developer
18
GEDICA TRAINING & CONSULTING C.A.
Capítulo 3
CREANDO UN FORM MODULE
Oracle Forms Developer
19
GEDICA TRAINING & CONSULTING C.A.
CREANDO UN FORM MODULE
Puede crear un nuevo form módulo de diferentes formas:
Al ingresar a forms Builder se despliega una pantalla la cual le permite escoger si
crear una forma utilizando los asistentes, crear una forma manualmente, abrir una forma ya
existente, o crear una forma a partir de una plantilla.
Si escoge la 1era. Opción Usar el data block wizard, la siguiente pantalla lo llevará
al asistente, si escoge la opción crear una forma manualmente ya estará dentro de forms
builder de la siguiente forma:
Oracle Forms Developer
20
GEDICA TRAINING & CONSULTING C.A.
Si ya se encuentra dentro de Oracle Forms Builder puede crear una nueva forma,
seleccionando del menú File-New-Form
Usando los Wizards (Asistentes):
CREANDO UN NUEVO BLOQUE
Si ya se encuentra dentro de Oracle Form Builder seleccione la opción Data Block
Wizard del menú Tools, el cual le mostrará una pantalla de bienvenida al asistente,
desmarque el check, si no desea que la pantalla de bienvenida aparezca la próxima vez que
invoque al asistente, Ya sea que en la pantalla de bienvenida de Forms Builder escogió
utilizar el data Block Wizard o ingreso a través de la opción del menú, la pantalla que
aparece será la siguiente:
Oracle Forms Developer
21
GEDICA TRAINING & CONSULTING C.A.
Presione el botón Next>, en la siguiente pantalla deberá escoger que tipo de bloque
construir, con datos provenientes de una tabla o vista o de un stored procedure. Seleccione
Table or View.
Escriba el nombre de la tabla o vista sobre la cual desea construir el bloque, luego
presione el botón refresh y aparecerán las columnas correspondientes a la tabla
seleccionada, esto siempre y cuando se encuentre conectado a la base de datos. Mueva al
cuadro de la derecha denominado database items las columnas que quiere formen parte de
su bloque, luego presione Next> .
Oracle Forms Developer
22
GEDICA TRAINING & CONSULTING C.A.
La siguiente pantalla coloca por defecto el nombre del bloque como la tabla que utilizo, sin embargo Ud. Puede modificar dicho nombre según sus requerimientos.
Por ultimo aparece una pantalla que lo felicita por haber terminado de forma
satisfactoria la creación del bloque de datos, le muestra dos opciones, la primera finaliza el
bloque y le lleva inmediatamente al asistente para el layout, la segunda solo crea el data
block. Escoja la segunda opción y presione el botón Finish.
Oracle Forms Developer
23
GEDICA TRAINING & CONSULTING C.A.
CREANDO UN NUEVO DATA BLOCK MANUALMENTE
En Form Builder, utilice uno de los siguientes métodos:
Botón Derecho de Mouse
Seleccione el Data Block Node y luego seleccione Create Icon en el Object
Navigator
DATA BLOCK FUNCIONALIDAD
Cuando usted crea un Data Block usando los Wizards Form Builder automáticamente crea:
Los Form Module con las propiedades de base de datos Insert, Update, Delete
El Frame Object
Los Items en los Data Blocks
Prompt por cada Item
Oracle Forms Developer
24
GEDICA TRAINING & CONSULTING C.A.
MODIFICANDO EL DISEÑO
La ejecución del Data Block Wizard lo llevara de manera automática al Layout Wizard. Ud.
también puede invocarlo a través del menú Tools – Layout Wizard, la primera pantalla del
asistente es la siguiente:
Presione Next> y aparecerá la siguiente pantalla, en la cual deberá indicar el tipo de canvas a crear
Oracle Forms Developer
25
GEDICA TRAINING & CONSULTING C.A.
En la siguiente pantalla deberá indicar el bloque y los items que quiere sean visualizados en
el canvas
Una vez seleccionados los items a ser visualizados presione Next> y la siguiente pantalla le
permitirá modificar el prompt, ancho y alto de los items.
En la siguiente pantalla indique cual será el estilo para la pantalla que esta creando.
Oracle Forms Developer
26
GEDICA TRAINING & CONSULTING C.A.
Luego puede asignar un título a la pantalla, así como la cantidad de registros que se podrán
visualizar y si se creará de forma automática un scroll.
La ultima pantalla le indica que Ud. ha finalizado de forma satisfactoria la
realización del diseño de su módulo form, presione Finish .
Oracle Forms Developer
27
GEDICA TRAINING & CONSULTING C.A.
Guardando un Form Module
Puede guardar el form module de las siguientes maneras:
A través del menú File-Save AS
Utilizando El icono Save del menú toolbar (barra de herramientas)
Compilando un Form Module
Antes de que un form module pueda ser ejecutado, debe ser compilado y haber generado
un archivo ejecutable con la extensión .FMX Puede compilar el form module de las siguientes
maneras:
A través del Menú Program – Compile Module
Utilizando el icono Compile Module de la barra de herramientas.
Oracle Forms Developer
28
Compile Module
GEDICA TRAINING & CONSULTING C.A.
Una vez compilado el form module se genera un archivo con extensión FMX el cual es el
ejecutable.
Ejecutando un Form Module
En Oracle 9iDS puede ejecutar su módulo en modo web desde Form Builder, la cual se
visualizará a través del Browser que este definido. Para lograrlo es necesario tener un listener
HTTP, en este aspecto se debe utilizar el OC4J el cual funciona para tal fin y debe ser iniciado
manualmente, Para iniciar la instancia del OC4J siga la siguiente ruta:
Start --> Programs -->
Oracle 9i Developer Suite --> Forms Developer -->
Start OC4J Instance
Cuando el OC4J Listener se haya iniciado, aparecerá una pantalla de MS-DOS
esta pantalla debe permanecer abierta, mientras se estén ejecutando los form module, para
detener el OC4J siga la siguiente ruta:
Start --> Programs --> Oracle 9i Developer Suite -->
Forms Developer --> Shutdown OC4J Instance
Una vez iniciado el OC4J seleccione el módulo que quiere ejecutar y utilice algunas de las
siguientes formas:
A través del menú Program – Run Form
Haciendo clic sobre el botón correspondiente a Run Form o Run Form Debug en la
barra de herramientas.
Oracle Forms Developer
29
GEDICA TRAINING & CONSULTING C.A.
Run Form: Utiliza esta opción al momento de ejecutar el form module a través del browser definido
Run Form Debug: Utiliza esta opción para depurar el form module durante la ejecución.
Escoger Un Browser Para Ejecutar Un Form Module
Para seleccionar un browser a través del cual ejecutar los módulos de forms builder,
debe seguir los siguientes pasos:
A través del menú Edit – Preferences.
Aparece el cuadro de diálogo, seleccione la ficha correspondiente al Runtime.
en el campo correspondiente al Web Browser Location ingrese la ruta donde se
encuentra el archivo ejecutable del browser a utilizar, o haga clic sobre el botón
browse para localizarlo.
Oracle Forms Developer
30
Run Form
Run Form Debug
GEDICA TRAINING & CONSULTING C.A.
Si no es configurado ningún browser en esta opción, entonces será utilizado el browser
predeterminado en el sistema Operativo.
Usando Bloques con Relaciones:
Como ya lo hemos mencionado, un Form Módulo puede contener mas de un bloque,
dichos bloques pueden trabajar solos de forma independiente, o pueden estar relacionados
con otro bloque.
La relación que se crea entre dos bloques se denomina relación Master-Detail y se
realiza entre el primary-foreign key de las tablas sobre las cuales están basadas los bloques.
El bloque Master es el que esta basado en la tabla que contiene el Primary key, y el bloque
Detail esta basado en la tabla con el foreign key.
Adicionalmente puede crear una relación en la cual el detail de una relación Master-
detail sea a su vez el master de otra relación. Por otra parte Un bloque Master puede
contener varios bloques de detalle, tal y como se muestra en la siguiente figura:
Oracle Forms Developer
31
MASTER
DETAIL
MASTER
DETAIL
DETAIL
MASTER
DETAIL DETAIL
GEDICA TRAINING & CONSULTING C.A.
Data Block Wizard - Master-Detail Page
Cuando se crea un bloque y ya existe dentro del form module un bloque previo, es
decir cuando se crea un segundo bloque, el Data Block Wizard muestra una pagina
adicional donde puede escoger que el join entre las dos tablas, o lo que es lo mismo entre
los dos bloques se haga de manera automática, marcando el check de auto-join data block,
o especificar los valores presionando el botón Create Relationship...
Una vez creado el Form Module Master-Detail, el data Block Wizard
automáticamente crea un objeto encargado de manejar la relación entre los bloques
asociados. Dicho objeto se denomina Relation. Este nuevo objeto tomara su nombre por
defecto del MasterBloque_DetailBloque. Adicionalmente se crea un trigger para la debida
coordinación entre los dos bloques.
Oracle Forms Developer
32
GEDICA TRAINING & CONSULTING C.A.
Practica 2
1. En el modulo creado en el ejercicio anterior y utilizando el asistente, crear un
bloque de datos que muestre todos los empleado de la s_emp, asociados a cada uno
de los departamentos. Este bloque debe mostrar más de un renglón de registros.
2. Compile y ejecute el modulo
3. Revise los objetos que se han creado e indique su funcionalidad dentro del modulo
Oracle Forms Developer
33
GEDICA TRAINING & CONSULTING C.A.
Capítulo 4
DATA BLOCKS Y FRAMES
Oracle Forms Developer
34
GEDICA TRAINING & CONSULTING C.A.
Modificando la apariencia de un Data Blocks
Se puede modificar la apariencia de un data Block después de que ha sido creado utilizando
cualquiera de los siguientes métodos:
Ejecutar los Wizards: Ingrese al Data Block Wizard y realice los cambios
necesarios.
Layout Editor: Ingrese al Layout Editor y haga las modificaciones deseadas
manualmente.
Data Block Property Palette: Despliegue las propiedades del Bloque y cambie los
valores según su criterio.
Frame Property Palette: Cambie las propiedades del Frame asociado al Bloque para
modificar la apariencia del arreglo de items.
PROPIEDADES DE LOS OBJETOS:
Cada objeto dentro de una forma, así como el form module como tal, tienen
propiedades que determinan las características y la apariencia de cada objeto. Cuando los
objetos son creados dichos propiedades adquieren un valor por defecto, Sin embargo,
dichos valores pueden ser cambiados a través de la Paleta de Propiedades (Property
Palette).
Para visualizar las propiedades de un objeto, seleccione uno de los siguientes métodos:
Ingrese al Menú Tools - Property Palette o
Presione F4 cuando este sobre el objeto
Haga Doble click en el icono del objeto en el Object Navigator
Haga Doble click en el objeto en el Layout Editor
Haga click en el Botón derecho del Mouse
Oracle Forms Developer
35
GEDICA TRAINING & CONSULTING C.A.
Al ejecutar uno de los métodos descritos, se levanta un cuadro que muestra una lista
de las propiedades del objeto en cuestión. La lista que se muestra tiene dos columnas, la
primera con el nombre de la propiedad y la segunda con el valor. Por otra parte las
propiedades están agrupadas dependiendo de la función que ejercen, cada grupo tiene un
título y nodo, dicho nodo se puede expandir o contraer usando el símbolo + o – a la
izquierda del título.
En la parte superior derecha de la lista aparece un ítem denominado FIND a través
del cual puede localizar rápidamente una propiedad dentro de la lista. También en la parte
superior se encuentra un Toolbar que consta de varios botones que permiten copiar y
pegar propiedades, eliminar o agregar, así como congelar la imagen de las propiedades de
un objeto.
Oracle Forms Developer
36
GEDICA TRAINING & CONSULTING C.A.
Ahora bien, cada objeto tiene a su vez varios tipos de propiedades, estas se manejan
de forma diferente dependiendo del tipo de propiedad. En algunos casos el valor se trata de
un texto que se debe ingresar, en otros se debe seleccionar un valor entre un lista.
A la derecha del nombre de la propiedad se encuentra un icono el cual describe el
status de la propiedad. El circulo especifica que la propiedad se encuentra con el valor
predeterminado. El cuadrado indica que el valor de la propiedad ha sido cambiado. Una
Flecha indica que el valor de la propiedad ha sido otorgado por herencia, y una flecha con
una cruz que la propiedad tenia un valor por herencia , pero que dicha herencia se perdió al
modificar el valor.
Múltiples Property Palettes
Desplegando múltiples Property Palettes para un objeto
Abrir el Property Palette para el objeto
Presionando la Shift, haga doble click sobre el objeto para mostrar Property Palettes
adicionales
Desplegando Property Palette para múltiples objetos
Abrir el Property Palette para el primer objeto
Hacer en el botón Freeze/Unfreeze en el Toolbar
Muestre el Property Palette del próximo objeto
Propiedades de un Bloque de datos (Data Blocks).
Cada Data Block tiene propiedades las cuales están divididas en los siguientes grupos:
General: Dentro de este grupo de propiedades se encuentra el nombre del objeto, en
este caso el nombre del Bloque, si esta referenciando a un objeto origen entonces
muestra el nombre del objeto referenciado, y el módulo del cual proviene.
Navigation: La navegación de un bloque se produce normalmente en el orden en el
que se definen los items dentro de el, entre las propiedades de este grupo se
encuentran:
Oracle Forms Developer
37
GEDICA TRAINING & CONSULTING C.A.
Navegation Style: Tiene 3 posibles valores, Same Record, Change Record, y
Change Data Block, el valor por defecto es Same record, lo cual indica que
al llegar al ultimo ítem de un registro el cursor se posicionará en el primer
ítem del mismo registro. Si quiere que la navegación continúe al próximo
registro debe cambiar esta propiedad al valor Change record.
Previous Navegation data Block y Next Navigation data Block: De manera
predeterminada el módulo form navega por el primer bloque que se
encuentra, con estas propiedades se puede cambiar el orden de navegación
entre los bloques.
Records: Contiene las siguientes propiedades:
Current Record Visual Attribute Group: Indica el nombre del Visual
atributo que será utilizado para destacar al registro actual en el bloque, es
decir al registro donde se encuentre posicionado el cursor.
Query Array Size: especifica el numero de registros que forms puede tomar
de la base de datos en un mismo tiempo cuando se ejecuta una consulta.
Number of Records Buffered: es la cantidad mínima de registros que se
pueden tener en el buffer, el valor mínimo permitido va ser igual al
determinado en la siguiente propiedad.
Number of Records Displayed: esta propiedad indica el numero máximo
de registros que el bloque puede mostrar en un canvas a un mismo tiempo.
Query all Records: determina si al momento de ejecutar un query se toman
de la base de datos todos los registros del resultado (Yes) o si se toman la
cantidad de registros indicados en la propiedad Query Array Size (No).
Oracle Forms Developer
38
GEDICA TRAINING & CONSULTING C.A.
Record Orientation: determina la orientación de registros en el data block,
Horizontal o Vertical.
Single Record: esta propiedad especifica que el bloque de control debe
tener un solo registro, no debe colocarse dicha propiedad en Yes para un
bloque de Datos.
Database: Contiene las siguientes propiedades:
Database Data Block: especifica si se trata de una bloque basado en una
tabla de la base de datos o si se trata de un bloque de control.
Enforce Primary Key: Chequea que los registros a ser insertados o
actualizados deben cumplan con la clave primaria antes de que se ejecute la
acción en la base de datos.
Query/Insert/Update/ Delete Allowed : estas propiedades controlan la
autorización para la ejecución de las mismas en un data block.
Query Data Source Type: Esta propiedad especifica el tipo de consulta que
se efectuara en el data block, tiene los siguientes posibles valore: None,
Table, Procedure, Transactional Triggers o From Clause Query.
Query Data Source name: Indica el nombre del Objeto desde el cual se hará
la consulta, por ejemplo si se trata de una tabla, aquí se indica el nombre de
la tabla. Esta propiedad solo aplica cuando la propiedad anterior tiene uno de
los siguientes valores: table, procedure, From Clause Query.
Query Data Source Columns: especifica el nombre y tipo de datos de las
columnas asociadas con el objeto a través del cual se hará la consulta, esto
Oracle Forms Developer
39
GEDICA TRAINING & CONSULTING C.A.
solo aplica cuando la propiedad Query Data Source Type es Procedure o
From Clause Query.
Where Clause: Dentro de esta propiedad se especifica una condición where
determinada al select implícito del bloque y es automáticamente agregada a
cualquier criterio que usuario coloque cuando se encuentre en Modo Enter
Query durante la ejecución.
Order By Clause: Define un orden por defecto para los registros a ser
mostrados.
Optimizer Hint: Especifica una cadena que Forms Builder enviara al
optimizador cuando se construye la sentencia Select implícita en el bloque.
Usando esta cadena el optimizador puede mejorar el rendimiento de la
consulta en la base de datos.
Creando un Control Block
Haga click en el Blocks node
Haga click en botón Create Icon
Seleccione la opción “Build a new data block manually” en la caja de diálogo New
Data Block
Eliminando un Data Block
Seleccione el Data Block a borrar
Haga click en el Delete Icon
Haga click en Yes en caja de alerta
Practica 3
1. Para cada uno de los bloques de datos de la practica anterior cambie los valores de las propiedades de los bloques para que:
Oracle Forms Developer
40
GEDICA TRAINING & CONSULTING C.A.
Muestre los datos ordenados por numero de departamento y nombre empleado
No permita realizar inserción de empleados a un departamento
No permita actualizar los datos de un departamento
2. Compilar y Ejecutar para probar los cambios
3. Añadir un bloque de control
Oracle Forms Developer
41
GEDICA TRAINING & CONSULTING C.A.
Capítulo 5
TEXT ITEMS
Oracle Forms Developer
42
GEDICA TRAINING & CONSULTING C.A.
TEXT ITEMS
Un text item es un objeto de interfaz a través del cual se puede consultar, insertar,
actualizar y borrar datos, usualmente corresponde a una columna de la tabla de la base de
datos a la cual esta asociado el bloque que lo contiene. Cuando se crea un item este por
defecto es Text item.
Creando un Text Item
Puede crear un text item de cualquiera de las siguientes maneras:
Cuando utiliza el Data Wizard por defecto se crean los text items de las
columnas de la tabla.
Usando el botón text item de la barra de herramientas del Layout Editor.
Usando el icono Create en el object navigator.
Convirtiendo un item existente en un text ítem.
Modificando la apariencia de un Text Item
Un text ítem tiene propiedades las cuales están divididas en los siguientes grupos:
General: en este grupo de propiedades se encuentra :
Name: Muestra el nombre del item.
Oracle Forms Developer
43
Boton Text ItemEn el layout editor
GEDICA TRAINING & CONSULTING C.A.
Item Type: para definir el tipo de item
Subclass Information: si esta referenciando a un objeto origen entonces
muestra el nombre del objeto referenciado, y el módulo del cual proviene.
Functional:
Enabled: Determina cuando un ítem puede ser o no manipulado, si la
propiedad se encuentra en No, el ítem queda incautivo y su apariencia
cambia en la ejecución.
Multi-Line: Permite que un text item pueda almacenar múltiples líneas de
text, siempre y cuando el tipo de dato del mismo sea varchar2 o long.
Case Restriction: convierte el texto al valor de la propiedad, Upper, Lower,
Mixed.
Conceal Data: encripta el valor del texto para que el usuario no pueda
visualizarlo.
Sep Cursor Position: mantiene la posición del cursor hasta que se reingrese
en un item.
Automatic Skip: hace que el cursor avance de manera automática al
siguiente item cuando el actual este lleno, va a depender de la longitud con
la que se definió el text ítem.
Popup menu: asocia un menú emergente o menú flotante al ítem.
Navigation: este conjunto de propiedades permite alterar la navegación por defecto
de los items, la cual esta determinada por el orden en que estos se encuentra dentro
del Bloque de datos.
Keyboard Navigable: permite la navegación al ítem, con el orden
determinado a través del Teclado o Mouse. Cuando la propiedad es NO,
Form Builder avanza al siguiente ítem navegable siguiendo la secuencia
definida.
Oracle Forms Developer
44
GEDICA TRAINING & CONSULTING C.A.
Previous Navigation Item y Next Navigation Item: Determina el ítem
anterior y el siguiente ítem que deben ser accesados al salir del ítem actual.
Los items que aquí se incluyan debe pertenecer al mismo bloque del ítem
actual.
Database: dentro de este grupo se encuentran las propiedades que permiten
establecer una relacione entre el text item y la base de datos.
Database item: determina que el valor del item es almacenado en un bloque
basado en una tabla de la base de datos. El valor NO, indica entonces que se
trata de un ítem de control.
Column name: establece que el ítem corresponde a una columna de la tabla a
la cual esta asociado el data block.
Primary Key: Indica que el ítem corresponde a una columna que es la clave
primaria de la tabla sobre la que esta construido el bloque.
Query Only: indica que el ítem puede ser consultado pero no incluido en un
Insert o Update.
Query allowed: determina que el ítem puede ser utilizado para consultas.
Case Insesitive query: determina que la diferencia entre mayúsculas y
minúsculas de los valores, será reconocida durante la ejecución de la
consulta.
Insert allowed: determina la autorización para que el item pueda ser
insertado.
Update allowed: determina la autorización para que el item pueda ser
modificado.
Update only if null: determina la autorización del item solo cuando su valor
actual es nulo.
Physical: Contiene propiedades acerca de la ubicación del ítem:
Oracle Forms Developer
45
GEDICA TRAINING & CONSULTING C.A.
Visible: Determina si el ítem será mostrado al usuario, o si por el contrario
solo se utilizara para guardar un valor que el usuario no podrá visualizar.
Canvas: indica en cual canvas será mostrado el ítem.
Tab Page: Cuando el ítem se visualiza en un canvas de Ficha , esta
propiedad indica la ficha en la que se mostrara el ítem.
X position: Posiciona el ítem en la posición que se indique de la coordenada
X con respecto al canvas o a la pantalla.
Y position: Posiciona el ítem en la posición que se indique de la coordenada
Y con respecto al canvas o a la pantalla.
Width: Indica el ancho del ítem según el la propiedad Coordinate Units de la
forma.
Height: Indica el alto del ítem según el la propiedad Coordinate Units de la
forma.
Bevel: Cambia la apariencia del borde del ítem
Rendered:
Show Vertical scrollbar: coloca un scroll vertical, útil para text ítem
multilínea.
Record:
Current Record Visual Attibute Group: Especifica el nombre del visual
atributo a usar en el item cuando se muestre el registro actual.
Distance Between Records: Especifica la cantidad de espacios entre
instancias del Ítem en un bloque multiregistros.
Number of Items Displayed: Especifica el numero de instancias a mostrar
del ítem cuando se este en un bloque multiregistros.
Font : agrupa las propiedades que afectan la letra del el dato a mostrar en el
item.
Font Name: Especifica el nombre de la fuente, dependiendo de las
disponible en el sistema operativo.
Oracle Forms Developer
46
GEDICA TRAINING & CONSULTING C.A.
Font Size: especifica el tamaño de la letra en puntos.
Font Weigth : especifica el ancho de la letra, tiene opciones como médium,
bold etc.
Font Style: Especifica el estilo de la letra, como por ejemplo con sombras,
cursiva etc.
Font spacing: especifica el ancho del contenido, es decir la cantidad de
espacios que habrá entre caracteres de una palabra.
Color:
Foreground Color: determina el color a la fuente.
Background Color: Determina el color del fondo donde se mostrara el texto.
Prompt:
Prompt: Especifica el texto de la etiqueta para el ítem.
Prompt Display Style: especifica el estilo en que se mostrará el prompt con
respecto al item, es decir, si se mostrará solo en el primer registro, en todos
los registros, o si se ocultará.
Prompt Justification: Especifica como el prompt será justificado.
Prompt attachment Edge: Especifica el lugar con respecto al time donde se
mostrará la etiqueta, Sobre el item, Bajo el item etc.
Prompt aligment: especifica como el prompt es alineado con respecto a su
ubicación en el ítem.
Prompt attachment offset: especifica la distancia entre el ítem y el prompt.
Oracle Forms Developer
47
GEDICA TRAINING & CONSULTING C.A.
Practica 4
4. Para cada uno de los bloques de datos de la practica anterior cambie los valores de las siguientes propiedades
Hint property Ayuda en español
Format property Numérico con miles y decimales y fecha dd/mon/yyyy
Enabled property Identificadores a SI
Justification preperty Números a Right y Caracteres a Left
Cambiar Orden de Navegación
5. Compilar y Ejecutar para probar los cambios
Oracle Forms Developer
48
GEDICA TRAINING & CONSULTING C.A.
Capítulo 6
CREANDO LOVS Y EDITORS
Oracle Forms Developer
49
GEDICA TRAINING & CONSULTING C.A.
LOVs y Editors
LOVS
Un LOV (lista de valores) es un cuadro de diálogo especial que muestra un grupo de
registros, permitiendo elegir una fila del grupo, devolviendo un único valor. Se utiliza como
una forma de elegir un conjunto de especifico de valores. Se puede por ejemplo, asociar un
LOV con un text item, tanto para proporcionar una forma sencilla de ingreso de datos,
como para proporcionar una lista de valores contra los que se pueda validar la entrada de
los datos.
Los LOV tienen las siguientes cualidades:
Puede ser una Lista Dinámica o Estática
Pueden ser independientes de un Text Item, lo cual significa que se puede acceder a
la lista a través de un Text item o fuera de este.
Flexible y Eficiente: puede utilizar el mismo LOV para varios ítem, y
adicionalmente reutilizar la data que se encuentra en ella cargada, o acceder a la
base de datos en cada llamada a la lista.
Creando una lista de valores
La lista de Valores es un objeto dentro del Form module, que puede ser visto a
través del Object navigator. No trabaja por si sola, para que funcione debe tener asociado
otro objeto de la forma denominado Record Group.
Un Record Group es un objeto de Form Utilizado para almacenar arreglos de datos,
o grupos de registros para que estos sean luego mostrados a través de un LOV. El arreglo
de datos puede proceder de una sentencia Select, es decir de una consulta a la base de datos,
la lista Select de la consulta proporciona la estructura de la columnas del Record Group.
Por otra parte el Record Group puede ser estático, es decir, los valores no provienen de
una consulta, sino que están definidos a través de un cuadro de diálogo especial.
Oracle Forms Developer
50
GEDICA TRAINING & CONSULTING C.A.
Los Record Group Pueden ser utilizados a través de lista de valores, en parámetros
de datos que pasan registros a reportes o gráficos, o como estructuras de datos PL/SQL.
Varias Lista de valores pueden estar basadas en un mismo Record Group.
Existen dos formas de crear lista de valores, a través del asistente (LOV Wizard) o
de forma manual.
Crear un LOV utilizando el LOV Wizard:
Ingrese al menu Tools – LOV Wizard o en el object navigator presione el icono
Create posicionado previamente en el Objeto LOV, en este caso se despliega un
cuadro de diálogo en el cual escogerá la opción “ Use the LOV Wizard” .
Inmediatamente se despliega la primera pagina del asistente, donde debe indicar si
la lista de valores se realizará sobre un Record Group ya existente, o si por el contrario se
creará un nuevo record Group.
Oracle Forms Developer
51
GEDICA TRAINING & CONSULTING C.A.
en la siguiente pantalla debe indicar el query sobre el cual se basara el nuevo Record
Group a crear
La siguiente pantalla le permite seleccionar cuales columnas de su Record Group
serán desplegadas en su Lista de valores.
Oracle Forms Developer
52
GEDICA TRAINING & CONSULTING C.A.
En la siguiente pagina puede configurar propiedades como el título de las columnas
al visualizar la lista, el ancho de las columnas y por ultimo el text item donde se colocar el
valor retornado por la lista, este ultimo es opcional.
Luego, la pagina siguiente le permite establecer el tamaño del cuadro de diálogo que
mostrara la lista de valores, ancho y alto del mismo, así como asignar un título a la lista.
Oracle Forms Developer
53
GEDICA TRAINING & CONSULTING C.A.
Algunas Propiedades de la lista de valores pueden ser definidas en la siguiente pantalla,
tales como, el nro. De registros que serán tomados de la base de datos a un mismo tiempo,
si la consulta se ejecutará cada vez que se despliegue la lista de valores, o si se incluye un
cuadro de diálogo para que el usuario agregue criterios a la búsqueda antes de desplegar la
información.
Oracle Forms Developer
54
GEDICA TRAINING & CONSULTING C.A.
En la siguiente pantalla UD. Puede relacionar su lista de valores con un Text item, haga clic
en Finish para completar la creación de la lista de valores.
El asistente ejecutado genero dos objetos, la lista de valores (LOV) y el record Group.
Propiedades de las Lista de valores LOV.
Después de crear su lista de valores, Ud. Puede modificar las propiedades de la
misma a través de la paleta de propiedades. Las propiedades de un LOV se dividen en
varios grupos: General, Functional, Physical, Visual attributes, Color, Font e Internacional.
Las que pertenecen al grupo Functional son características propias de un LOV, y las
describiremos a continuación:
Title: Especifica un título para la Lista de Valores.
Record Group: especifica el nombre del record group sobre el cual esta basado la
lista.
Column Mapping Properties: al presionar este botón se despliega un cuadro de
diálogo, en el que se muestran y se configuran las columnas a mostrase, el ancho de
estas y el text item donde retornara el valor de las mismas.
Oracle Forms Developer
55
GEDICA TRAINING & CONSULTING C.A.
Filter Before Display: determina que puede ser utilizado un criterio de búsqueda
para los elementos de la lista.
Automatic Display: Permite que la lista se despliegue de manera automática cuando
el cursor se ubique en el item al cual esta asociado la lista.
Automatic Refresh: indica que el record Group ejecutara la consulta cada vez que se
despliegue la lista.
Automatic Select:
Automatic Skip: Permite que el cursor avance de manera automática al próximo
ítem navegable, una vez se haya seleccionado un valor de la lista de valores.
Automatic Position: Indica que Form ubicara de manera automática la lista cerca del
item que la invoca.
Automatic Column Width: Indica que Form determinara de forma automática el
ancho de las columnas dependiendo del ancho necesario para mostrar el título de la
columna, si la propiedad se encuentra en NO, entonces utilizara el ancho definido.
Recomendaciones para LOV
Evite realizar largos Queries
Si usa columna para validar los valores introducidos por los usuarios en un Text
Item, coloque esta de primero en el SELECT
Opcionalmente puede usar las cláusulas WHERE, GROUP y ORDER BY
EDITORS
Un editor es un cuadro de diálogo con editor de texto sencillo que permite la
introducción de líneas de testo en un text item. Generalmente, el editor por default de Form
Builder es suficiente. Sin embargo, Ud. Puede diseñar sus propios editores personalizados
como un objeto de un Form Módulo y asociar estos al text item que lo necesite.
Oracle Forms Developer
56
GEDICA TRAINING & CONSULTING C.A.
Creando un Editor:
Seleccione el nodo Editors en el object navigator y haga clic en el icono create de la
barra. Un nuevo objeto editor será mostrado en la lista.
Ingrese a las propiedades del editor, y configúrelo según su requerimiento. Las
propiedades permiten especificar el tamaño de la ventana, los atributos visuales, el título
del editor entre otras propiedades.
Asociando un Editor a un text item
Puede asociar uno de los tres tipos de editors con un Text Item para esto configure
las propiedad Editor de un Text Item a una de las siguientes:
Null (Editor por Default de Forms)
Editor_name (Editor Personalizado)
SYSTEM_EDITOR (Editor Externo)
Oracle Forms Developer
57
GEDICA TRAINING & CONSULTING C.A.
Practica 5
1. Crear una forma maestro detalle que permita manipular los datos de las ordenes de compra y sus items.
2. Crear una lista de valores sobre el Item CUSTID, SALE_REP_ID y PRODID. Las listas deben mostrar código y nombre o descripción del elemento y retornar el id valores sobre los items señalados.
3. Crear un editor personalizado y asociar Item Comments.
Oracle Forms Developer
58
GEDICA TRAINING & CONSULTING C.A.
Capítulo 7
CREANDO ADICIONAL INPUT ITEMS
Oracle Forms Developer
59
GEDICA TRAINING & CONSULTING C.A.
Adicional Input Items
Son tipos de items que permiten ingreso de datos por parte del usuario. Entre estos
se encuentran los siguientes:
Check boxes
List Items
Radio Groups
A través de estos items se puede interactuar con la base de datos de las siguientes maneras:
Insertar valores
Actualizar valores existentes
Borrar valores existentes
Consultar valores existentes
Creando un Check Box
El Check Box es un objeto de interfaz el cual tiene dos estados que indican ON o
OFF, por lo tanto lo que se visualiza de este item es si se encuentra marcado (checked) o
desmarcado (unchecked). Sin embargo no esta limitado a dos valores, ya Ud. Especifica
que valor representa el Checked, que valor representa el Unchecked, y como serán
procesados otros valores distintos a los definidos, sin con checked o unchecked.
Un check Box puede ser creado de 3 maneras diferentes:
Utilizando el Check Box Tool en el Layout Editor
Usando el Create Icon en el Object Navigator
Convirtiendo un Item existente
Oracle Forms Developer
60
Boton Check BoxEn el layout editor
GEDICA TRAINING & CONSULTING C.A.
Propiedades Específicas de un Check Box
Data Type: especifica el tipo de dato al cual pertenece el item, puede se Char,
Number o Date.
Label: Especifica la etiqueta que es mostrada adjunta al item.
Access Key: Especifica la combinación de teclas que pueden ser usadas para
navegar a este item.
Value When Checked: especifica el valor del item cuando el estado del item sea
marcado.
Value When Unchecked: especifica el valor del ítem cuando el estado del ítem sea
desmarcado.
Check Box Mapping of Other Values: Determina como serán procesados otros
valores difrentes a los definidos para el checked y el unchecked, las opciones son
Not Allowed, Checked y Unchecked.
Mouse Navigate: Permite navegar dentro del item con el mouse.
Creando un List Item:
Un List Item es un objeto que muestra un conjunto de datos predefinidos, se usa
para seleccionar un valor de la lista, uno y solo uno puede ser seleccionado a un mismo
tiempo.
Hay 3 tipos de list item:
PopList: aparece como un Campo con ícono adjunto a la derecha del mismo, al
hacer clic sobre este se muestra el contenido de la lista.
Oracle Forms Developer
61
GEDICA TRAINING & CONSULTING C.A.
Tlist: aparece como un cuadro el cual muestra los elementos de la lista, si el cuadro
no es suficiente para mostrar el contenido de la lista, el ítem tiene un scroll asociado
a la derecha del mismo para desplazar los valores y así poder visualizarlos.
Combo Box: aparece como un campo con una flecha hacia abajo a la derecha del
mismo, la cual se utiliza para desplegar el contenido de la lista. Adicionalmente
acepta que el usuario ingrese datos.
Un List item puede ser creado de 3 maneras diferentes:
Utilizando el List Item Tool en el Layout Editor
Usando el Create Icon en el Object Navigator
Convirtiendo un Item existente
Oracle Forms Developer
62
GEDICA TRAINING & CONSULTING C.A.
Beneficios de los List Items:
Es un objeto de interfaz para desplegar un conjunto de valores predefinidos
Hay tres estilos disponibles
Es una alternativa para un radio groups
Puede ser una alternativa para un LOV
Propiedades Específicas para un List Item
Elements in List: abre un cuadro de diálogo en el cual se muestran y se configuran
los valores a mostrar en la lista. Dicho cuadro tiene dos partes:
List Elements: contiene los elementos que aparecerán en la lista.
List Item Values: Especifica el valor del elemento mostrado
List Style: Especifica el estilo del list ítem, puede ser PopList, tlist y combo box.
Mapping of Other Values: determina como serán procesados otros valores.
Mouse Navigate: permite navegar en la lista con el mouse.
Oracle Forms Developer
63
Boton List ItemEn el layout editor
GEDICA TRAINING & CONSULTING C.A.
Creando Radio Groups
Un Radio Group es un conjunto de radio bottons. Cada radio botton representa un
valor diferente. Solo se puede escoger un radio botton dentro de un radio group.
Beneficios del Radio group
Desplegar dos o mas opciones fijas
Es una alternativa de un List Ítem
Es una alternativa de un Check Box
Un Radio Group puede ser creado de 3 maneras diferentes:
Creando un nuevo Radio Group Item en el Layout Editor
Usando el Create Icon en el Object Navigator
Convirtiendo un Ítem existente
Oracle Forms Developer
64
Boton Radio GroupEn el layout editor
GEDICA TRAINING & CONSULTING C.A.
Propiedades Específicas para un Radio Group
RADIO GROUP
Data Type: especifica el tipo de dato al cual pertenece el radio group, puede ser
Char, Number o Date.
Mapping of Other Values: Determina como serán procesados otros valores.
Mouse Navigate: permite navegar en el radio group con el mouse.
RADIO BUTTON
1. Name: identifica a cada radio button dentro del radio group.
2. Access Key: Especifica la combinación de teclas que pueden ser usadas para navegar a
este item.
3. Label: especifica el texto que aparece adjunto al radio button.
4. Radio Button Value: especifica el valor que el radio button representa dentro del radio
group.
Practica 6
4.1. Sobre el form module del ejercicio anterior realice los siguientes cambios:
Convierta el item “payment_type” en un List Item
Convierta el item Order_filled en un Check Box, Marcado significara “Y” y desmarcado “N” o Null
4.2. Sobre el Form Module de Departamento/Empleado cree un Radio-Group Item sobre el item
Oracle Forms Developer
65
GEDICA TRAINING & CONSULTING C.A.
Capítulo 8
NON-INPUT ITEMS
Oracle Forms Developer
66
GEDICA TRAINING & CONSULTING C.A.
NON-INPUT ITEMS
Es un tipo de items que no permite el ingreso de datos por parte del usuario. Están
divididos en dos grupos, los que pueden mostrar datos y los que no pueden hacerlo.
Nonimput Items que permite mostrar datos:
Display Item
Image Items
Calculated Items
Nonimput items que no pueden mostrar datos
Buttons
Hierarchical Tree Items
Display Items
Un display item es similar aun text item, excepto por que no puede ser editado y no
es navegable durante la ejecución de la forma. Los usuarios solo pueden leerlo, no pueden
ingresar datos a través de ellos.
Los Display Items, pueden:
Desplegar Datos Derivados
Desplegar información adicional, sin tomar como base una tabla
Conservar Recursos
Creando un Display Item
Un display item puede ser creado usando:
Usando el botón de la barra de herramientas para Display item en el layout editor.
Usando el icono create en el object navigator para crear un item y luego
modificando la propiedad Item Type.
Oracle Forms Developer
67
GEDICA TRAINING & CONSULTING C.A.
Image Items
Un image item es una interfase especial de control, que permite almacenar y
desplegar una imagen, la imagen no puede ser manipulada en la ejecución y puede ser
importada desde la base de datos o desde archivos del sistema operativo.
Puede utilizar un image item de las siguientes formas:
Tomando la imagen de una columna LONG RAW o BLOB de una tabla de la base
de datos.
Usando un trigger que muestra la imagen dinámicamente.
Cortando y pegando la imagen directamente en el canvas.
Form Builder soporta los siguientes formatos imágenes:
BMP
CALS
GIF
JFIF
TIFF
JPEG
PICT
RAS
TPIC
Para Asociar una imagen a un IMAGE ITEM se utilizar el procedimiento
read_image_file(), el cual utiliza los siguientes parámetros de entrada:
Nombre del Archivo Imagen
Tipo de Formato
Item Imagen Name
Oracle Forms Developer
68
Boton Display Item en el Layout Editor
GEDICA TRAINING & CONSULTING C.A.
Ver detalles del procedimiento en la ayuda en línea de Forms
Creando un Image Item
Un image item puede ser creado usando:
Usando el botón de la barra de herramientas para image ítem en el layout editor.
Usando el icono create en el object navigator para crear un ítem y luego
modificando la propiedad Item Type.
Propiedades Específicas de Image Item
Image Format: especifica el formato de la imagen
Image Depth:
Compression Quality
Display Qualitty
Show Palette
Sizing Style
Show Horizontal Scrollbar
Show Vertical Scrollbar
Buttons
Un button ítem es un objeto especial que al hacer click sobre el permite ejecutar una
acción, usualmente es mostrado como un rectángulo con una etiqueta dentro que lo
describe, por su naturaleza no pueden almacenar o mostrar datos.
Los estilos de Buttons son:
Text Button: se visualiza con una etiqueta de texto dentro del botón.
Iconic: se visualiza con la imagen de un icono, son utilizados generalmente
en barras de herramientas.
Puede utilizar el Button para:
Oracle Forms Developer
69
Botón Image ItemEn el Layout Editor
GEDICA TRAINING & CONSULTING C.A.
Desplegar un LOV
Invocar un Editor
Invocar otra Ventana
Hacer commit de los datos
Realizar cálculos
Propiedades Específicas de un Button
Label: Especifica el texto que aparecerá en el botón durante la ejecución de la
forma.
Mouse Navigate: Determina que form Builder navegara al item cuando se haga
click usando el mouse.
Default Button: especifica que el botón será el botón por defecto del el bloque.
Iconic: determina que el botón mostrará un icono en lugar de la etiqueta
Icon Filename: especifica el nombre del archivo que contiene el icono a mostrar
Tooltip: especifica un texto de ayuda que aparece cuando el puntero del mouse se
desplace por el botón.
Tooltip Visual Attribute Group: especifica el nombre del visual atributo para dar
formato al tooltip del botón.
Calculated Items
Permite que usted declare un ítem basado en un cálculo de una o más variables. Son
de sólo lectura.
Modos de Cálculos
Formula
Calcula los valores de un item como resultado de un cálculo horizontal
Envuelve variables tipo Bind, como items, variables globales y parámetros.
Summary
Calcula los valores de un item como resultado de un cálculo vertical
Los summary son realizados en los valores de un item sobre todos las filas
de un Block
Oracle Forms Developer
70
GEDICA TRAINING & CONSULTING C.A.
Los calculated items son solo de lectura, el usuario no puede insertar o modificar el
valor de estos. Generalmente se utiliza el display items para mostrarlos.
Propiedades Específicas para un Calculated Item
Calculation Mode: especifica el modo de calculo para el ítem, puede ser None,
Formula y Summary.
Formula: especifica una expresión PL/SQL que determina el valor del item.
Summary Function: Especifica el tipo de función summary a ser aplicada, puede ser
AVG, COUNT, MAX, MIN,STDDEV, SUM, VARIANCE
Summarized Block: especifica el bloque al cual se le aplicara el calculo, es
requerido si el calcultion mode es Summary
Summarized Item: especifica el ítem al cual se le aplicara el calculo, es requerido si
el calcultion mode es Summary
Cuando el modo de cálculo del ítem es Summary, este ítem debe pertenecer al mismo
bloque del ítem al cual se le va a aplicar el cálculo, de lo contrario debe pertenecer a un
bloque de control que tenga la propiedad Single Record en Yes.
El tipo de datos del ítem calculado debe ser numérico, a menos que la función a aplicar sea
MAX o MIN.
Reglas para los Formula Items
No pueden invocar un Restricted Built-ins
No pueden ejecutar declaraciones DML
No pueden terminar una expresión de PL/SQL con un punto y coma
Reglas para los Summary Items
El Summary Item debe residir en:
El mismo Block del Summary Item, o
Un control block con la propiedad Record Property configurada a Yes
Oracle Forms Developer
71
GEDICA TRAINING & CONSULTING C.A.
El Summarized Item debe residir en:
Un Data Block con las propiedades Query All Records o Precompute
Summaries configuradas a Yes
O, en un Control Block
El tipo de dato para el Summary debe ser Númerico, a menos que utilice un MAX o
MIN
Hierarchical Item
Un hierarchical item es un objeto a través del cual se muestran datos y se navega
sobre un ellos de forma similar a como el Object Navigator de iDS muestra y permite
navegar sobre los componentes de sus herramientas. Este objeto tiene las siguientes
características:
Los datos mostrados pueden ser valores contenidos en un Record Group
Object o Query Text.
En tiempo de ejecución los datos pueden ser añadidos, removidos,
modificados o evaluados sus elementos en la jerarquía, a través de
programación.
La cantidad de data mostrada en un momento dado dependerá de la
expansión o contracción de los nodos de la jerarquía, bien sea que se
programe o que el usuario presione click sobre ellos.
Practica 7
5. Sobre la forma del ejercicio anterior realice los siguientes cambios
5.1. Agregue tres items adicionales de Non-Input para el nombre o descripción de los items: CUSTID, SALE_REP_ID Y PRODID
5.2. Por cada Item muestre la fotografía o imagen asociada al producto.
5.3. Muestre en la forma el Logo de la Empresa.
5.4. Incluya botones para activar la lista de valores de la practica 5
5.5. Incluya un item donde se muestre el total por cada item de la orden, el cual es el resultado de multiplicar la cantidad del producto por el precio menos el descuento
5.6. Muestre el total por cada departamento
Oracle Forms Developer
72
GEDICA TRAINING & CONSULTING C.A.
Capítulo 9
CREANDO WINDOWS Y CONTENT CANVASES
Oracle Forms Developer
73
GEDICA TRAINING & CONSULTING C.A.
WINDOWS Y CANVASES
Windows
Es un contenedor para todos los objetos visuales que forman parte de una aplicación
hecha en Form Builder, es similar a un Frame vacío, el cual provee los controles para la
ventana que habilita funcionalidades tales como: mover, minimizar, maximizar y
redimensionar. Un Form módulo puede tener varios Windows.
Canvas
Un canvas es la base sobre la que se sitúa el texto plano y los objetos visuales. Cada
objeto hace referencia a un único canvas en su lista de propiedades, los items de un bloque
de datos se pueden dividir en varios canvas.
TIPOS DE CANVAS:
Form Builder ofrece varios tipos de canvas, son los siguientes:
Canvas Content
Canvas Stacked (apilado)
Canvas Tab (ficha)
Canvas Vertical Toolbar.
Canvas Horizontal Toolbar.
Creando un Content Canvas
Un Canvas Content o de contenido es el canvas base que ocupa por completo el
contenido de la ventana en el cual se muestra, es el tipo de canvas predeterminado.
Relacion entre el window y el canvas.
Un canvas no es un elemento de interfaz autónomo, para verlo a el y a sus
elementos es necesario mostrarlo en un window, debe crearse un canvas content para cada
ventana dentro de la aplicación. Cuando la aplicación se ejecuta solo un canvas content
puede ser mostrado en una ventana a un mismo tiempo. Los canvas content se muestran
siempre en todo el window, por lo tanto si un window es redimensionado el canvas se
Oracle Forms Developer
74
GEDICA TRAINING & CONSULTING C.A.
redimensiona de manera automática. En un window pueden estar asociados varios canvas
de diferentes tipos.
Todo canvas debe estar asociado a un Window.
Todo window debe tener al menos un canvas.
Tipos de Windows
Hay dos tipos de Windows
Modal: es una ventana que exige que el usuario responda o descarte la ventana
antes de hacer nada en cualquier otra ventana de la aplicación.
Modeless (No modal): es la opción por defecto, permite el acceso a otras ventanas
de la aplicación sin descartar la primera. A menudo las ventanas Modeles tienen
características que las distinguen, como la falta de barras de desplazamiento y la
incapacidad de ser minimizadas a iconos.
Los windows en Form Builder se definen por lo que hacen, existen dos estilos:
Window Document: Es una ventana no modal que visualiza un elemento de la
aplicación, que generalmente un canvas de contenido relacionado con la parte
principal de la aplicación.
Window Dialog: es una ventana generalmente modal que muestra opciones u otras
formas de controlar la operación de la aplicación.
Cuando Crea un form módulo, Form Builder crea un window automáticamente, el cual
es llamado WINDOW1. Ud. Puede borrar o renombrar a WINDOW1, e incluso modificar
sus propiedades.
Propiedades De Los Windows.
Physical Property:
X position: Determina la Coordenada X para la ventana.
Y position: Determina la coordenada Y para la ventana.
Width: Determina el ancho de la ventana.
Height: determina el alto de la ventana:
Bevel: determina como se mostraran los bordes de la ventana.
Oracle Forms Developer
75
GEDICA TRAINING & CONSULTING C.A.
Show Horizontal Scrollbar: asigna un scrollbar horizontal en la ventana.
Show Vertical Scrollbar: Asigna un scrollbar vertical en la ventana.
Functional Property:
Title: especifica el título que aparece en la barra de título de la ventana.
Primary canvas: especifica el nombre del canvas que será mostrado en la
ventana cuando esta sea invocada.
Window Style: determina si estilo del documento es Document o Dialog.
Modal: determina si se trata de una ventana modal o no.
Hide on Exit: Indica que un window Modeles o no Modal debe ocultarse de
forma automática cuando el usuario navegue fuera de este.
Icon Filename: Especifica el nombre del archivo de icono que será
visualizado al ser minimizada la ventana.
GUI Hints
Son recomendaciones para el window manager acerca de la apariencia y
funcionalidad del Window. Si el window manager soporta un específico GUI Hints y esta
propiedad es configurada a Yes. Forms puede usarla
Propiedades funcionales para GUI Hints
Close allowed: habilita el mecanismo para cerrar la ventana.
Move Allowed: permite mover de lugar la ventana.
Resize Allowed: permite redimensionar el tamaño de la ventana durante la
ejecución.
Maximize Allowed: permite maximizar el tamaño de la ventana.
Minimize Allowed: permite que la ventana sea minimizada a un icono.
Inherit Menu: indica que la ventana mostrara el menú asociado al form módulo.
Creando un Nuevo Window.
Ud. Puede crear windows adicionales al generado automáticamente por form, los
cuales serán mostrados en su aplicación , aplicando los siguientes pasos:
Oracle Forms Developer
76
GEDICA TRAINING & CONSULTING C.A.
Haga Clic sobre el nodo window del Object navigator
Haga clic en el icono create, un nuevo window aparecerá en el object navigator
Modifique las propiedades del nuevo window según sus requerimientos.
Practica 8
1. Revisar las propiedades de los objetos Windows y Content Canvas de los módulos creados en las practicas anteriores
2. Cambiar las propiedades de estos objetos, compilar y ver los resultados.
3. Crear un window a al modulo orden-items que sirva para mostrar información de ayuda, descriptiva del objetivo de la forma
Oracle Forms Developer
77
GEDICA TRAINING & CONSULTING C.A.
Capítulo 10OTROS TIPOS DE CANVAS
Oracle Forms Developer
78
GEDICA TRAINING & CONSULTING C.A.
OTROS TIPOS DE CANVAS
Ya en el capitulo anterior se menciono que existen varios tipos de canvas, y se
definió el canvas Content, en este capitulo definiremos los tipos de canvas restantes.
Stacked Canvas
Es un tipo de canvas que puede mostrarse sobre otros canvas, incluyendo el canvas
content asignado al window. Un window puede mostrar un canvas content y cualquier
numero de canvas stacked, estos son usualmente más pequeños que el window en el cual se
muestran.
La vista de un canvas stacked va determinada por el Viewport, este es un atributo de
un canvas, y determina la parte visible del mismo.
Los canvas stacked permiten la creación de diversos efectos especiales, por ejemplo,
si un data block contiene mas ítems que los que la ventana puede mostrar, el scroll bar
permite visualizar los ítems que quedan fuera de la ventana. Esto puede causar que
importantes items queden fuera de vista, para resolver este caso, se puede tener un conjunto
de items permanentes en un canvas content mientras que el resto de los ítem están en un
canvas stacked el cual se desplaza para mostrar el resto de los items.
Stacked Canvas Propiedades
VIEWPORT PROPERTY:
Viewport X position: especifica la coordenada X donde comenzará la parte visible
del canvas.
Viewport X position: especifica la coordenada Y donde comenzará la parte visible
del canvas.
Viewport width: determina el ancho del la parte visible del canvas.
Viewport height: determina el alto de la parte visible del canvas.
PHYSICAL PROPERTY:
Show horizontal Scrollbar: determina si el canvas tendrá una barra desplazamiento
horizontal.
Oracle Forms Developer
79
GEDICA TRAINING & CONSULTING C.A.
Show Vertical Scrollbar: determina si el canvas tendrá una barra desplazamiento
vertical.
Toolbars
Es un tipo de canvas especial que usted puede crear para manejar button y otros
elementos gráficos.
Hay tres tipos:
Vertical toolbar: se utiliza para posicionar los botones de arriba hacia abajo, a la
derecha o a la izquierda de la ventana.
Horizontal toolbar: se utiliza para posicionar los botones de izquierda a derecha, en
la parte superior o en la parte inferior de la ventana.
MDI toolbar: se utiliza para aplicaciones form builder que usan multiples windows
Toolbar Propiedades
CANVAS PROPIEDADES
Canvas Type: especifica el tipo de canvas, para un canvas toolbar, debe ser
Horizontal toolbar o Vertical Toolbar.
Window: especifica el window en el cual se mostrara el canvas.
Width: determina el ancho del canvas
Heigth: determina el alto del canvas.
WINDOW PROPIEDADES
Horizontal Toolbar Canvas: determina cual será el toolbar horizontal definido para
el window
Vertical Toolbar Canvas: determina cual será el toolbar vertical definido para el
window
FORM MODULE PROPIEDADES
Form Horizontal Toolbar Canvas: indica la barra horizontal que se mostrará en el
MDI de la ventana.
Oracle Forms Developer
80
GEDICA TRAINING & CONSULTING C.A.
Form Vertical Toolbar Canvas: indica la barra vertical que se mostrará en el MDI de
la ventana.
Tab Canvas
Es un tipo especial de canvas que permite organizar y mostrar la información en
paginas o fichas separadas, al igual que los canvas stacked , los canvas tab pueden ser
desplegados sobre un canvas content.
Un tab page es un sub-objeto de un canvas tab, y se le denomina así, a las paginas o
fichas del canvas. Un canvas tab puede contener una o varias página s, una página puede
desplegar un conjunto de items, la pagina tiene una etiqueta en la que el usuario hace clic
para acceder a los datos que en ella se encuentran. Cada pagina del canvas tiene el mismo
tamaño dentro del canvas.
Practica 9
1. Crear un forma que muestre las ordenes de compra y sus productos asociados, con las siguiente características:
1.1. A nivel de la Orden mostrar el nombre del vendedor y asociarle una lista de valores que permita seleccionar el vendedor de la orden. Activar esta lista a través de un botón
1.2. Permitir seleccionar el tipo de pago excluyentemente. Si el tipo de pago es cheque o tarjeta, permitir incluir el numero de cheque o tarjeta y el banco emisor. Dependiendo de la selección la etiqueta de estos campos debe indicar de que se trata.
1.3. A nivel de items de la orden, mostrar todos los datos del producto permitiendo hacer scroll horizontal sin perder de vista el numero de item, código y descripción del producto, este ultimo debe ser mostrado al seleccionar el producto de una lista o introducir el código.
1.4. Mostrar el total de bolívares por producto, el cual se calcula multiplicando la cantidad por el precio menos el descuento.
1.5. Al final mostrar el total de la orden, la cual será la suma del total por producto mas IVA.
Oracle Forms Developer
81
GEDICA TRAINING & CONSULTING C.A.
Capítulo 11
INTRODUCCIÓN A LOS TRIGGERS
Oracle Forms Developer
82
GEDICA TRAINING & CONSULTING C.A.
Form Builder Triggers
Un trigger es un programa que es ejecutado de manera automática (disparado)
cuando ocurre el evento para el cual fue programado. Puede utilizarlos para agregar o
modificar nuevas funcionalidades. Cada trigger esta asociado a un evento en especifico,
Form Builder define un amplio rango de eventos por los cuales se puede dispara un trigger.
Entre esos eventos se encuentran los siguientes:
Eventos relacionados con consultas
Ingreso de datos y validación de los mismos.
Navegación y movimiento físico del mouse.
Interacción con items en la forma
Eventos internos en la forma
Errores y mensajes.
Componentes del Alcance de un Trigger
El alcance de un trigger esta determinado por su posición en la jerarquía de objetos
de la forma, es decir, el tipo de objeto bajo el cual ha sido creado el trigger.
Existen 3 posibles niveles en los que se puede crear un trigger:
A nivel de la forma: el trigger aplica para el módulo completo.
A nivel del bloque: el trigger afecta a un bloque y se dispara solo este bloque es el
bloque actual
A nivel del ítem: al trigger afecta a un ítem individualmente y se dispara solo
cuando este ítem es el ítem actual.
Algunos items pueden ser definidos solo en ciertos niveles, por ejemplo un Trigger Post
Query, no puede ser definido a nivel del ítem,
Oracle Forms Developer
83
GEDICA TRAINING & CONSULTING C.A.
Componentes de un Tipo de TriggerSe dividen 5 tipos diferentes dependiendo del tipo de evento que los dispara. El
nombre de un trigger identifica el tipo al que pertenece, su nombre siempre contiene un
guión (-). La primera parte del nombre antes del guión es la que identifica el tipo.
KEY- : se dispara al activar una tecla de función.
ON -:
PRE- : se dispara antes de una acción específica.
POST- : Se dispara justo después de una acción.
WHEN-
Componentes del Código de un Trigger
El código de un trigger define la acción a ejecutarse cuando este se dispare, escriba
este código como un bloque anónimo PL/SQL usando el editor PL/SQL, pudiendo utilizar
sentencias como las siguientes:
Definiciones estándar de PL/SQL (asignaciones, bucles).
Sentencias SQL que son validas en PL/SQL
Llamadas a programas como procedimientos y funciones que se encuentran el la
forma, en una librería o en la base de datos.
Llamadas a programas propios de Oracle Forms Developer
Jerarquía de Ejecución
Si existe mas de un trigger con el mismo nombre en una forma, Oracle Forms lanza
por defecto el asociado al elemento mas bajo en la jerarquía, es decir, si por ejemplo en un
módulo form existe el trigger WHEN-NEW-ITEM, a nivel de la forma, del bloque y del
ítem, se dispara el que esta asociado al ítem como tal, y los demás son ignorados, debido al
que el mas bajo en la jerarquía es el nivel del ítem. Sin embargo esta secuencia puede ser
alterada cambiando la propiedad execution Hierarchy.
Oracle Forms Developer
84
GEDICA TRAINING & CONSULTING C.A.
Capítulo 12
CREANDO TRIGGERS
Oracle Forms Developer
85
GEDICA TRAINING & CONSULTING C.A.
CREAR UN TRIGGER
Puede crear un trigger utilizando alguna de las siguientes maneras:
Cuando hace clic en un objeto en el object navigator o en el layout editor usando el
botón derecho del el mouse, un menú se despliega que incluye la opción Smart
Triggers, esta opción expande una lista de los triggers comunes que son apropiados
para utilizarse en el objeto en el que se encuentra.
En el object navigator, seleccione el nodo triggers de la forma, bloque o ítem que
quiere sea el dueño de el trigger.
Propiedades de un Trigger
Name: especifica el nombre del trigger, esta predeterminado.
Trigger Style: Por defecto el valor PL/SQL
FIRE in Enter Query Mode: Determina que el trigger pueda ser disparado cuando se
encuentre en modo Enter Query.
Execution Hierarchy: determina la jerarquia del trigger, Override, Before o after
Form Builder Built-in Subprogramas
Form Builder provee un conjunto de programas predefinidos como parte de este
producto. Estos programas están definidos como packages, procedimientos y funciones.
Pueden ser utilizados en cualquier trigger , o subprograma de la forma. Sin embargo, la
funcionalidad de algunos de estos programas no esta permitida en ciertos tipos de trigger
A continuación algunos de los programas de form que pueden ser utilizados en los triggers
para agregar funcionalidad a los items.
ENTER_QUERY: Limpia el bloque actual y lo prepara para recibir los criterios
de busque da la consulta.
EXECUTE_QUERY: limpia el bloque actual, abre la consulta y toma el numero
de registros seleccionados.
Oracle Forms Developer
86
GEDICA TRAINING & CONSULTING C.A.
EXIT_FORM: sale de la forma actual, o cancela el query si esta se encontraba en
Modo Enter Query.
GET_ITEM_PROPERTY: retorna el valor que tiene un propiedad especifica de
un item.
GO_BLOCK: navega al bloque especificado.
GO_ITEM: navega al ítem especificado.
HIDE_VIEW: oculta el canvas
LIST_VALUES: invoca a la lista de valores adjunta al ítem actual.
MESSAGE: muestra el texto especificado
SET_ITEM_PROPERTY: permite modificar los valores de las propiedades de un
item.
SHOW_ALERT: muestra un alerta definido u devuelve un valor numérico
cuando el usuario seleccione uno de los 3 posibles botones del mismo.
SHOW_LOV: invoca un alista de valores, y devuelve un valor booleano
indicando que el usuario tomo un valor de la lista.
SHOW_VIEW: muestra el canvas indicado.
WRITE_IMAGE_FILE: Escribe la imagen de Form Builder Image Item en el
archivo especificado
READ_IMAGE_FILE: Lee una imagen de un tipo especifico y la despliega en un
Form Builder Image Item
FORM_SUCCESS: esta funciona sirve para saber subprograma de form se
ejecuto satisfactoriamente.USANDO LOS TRIGGERSA continuación una lista
descriptiva de los triggers mas comúnmente utilizados:When-Button-Pressed: Se
activa cuando el usuario selecciona un botónWhen-window-Closed: Se activa
cuando el usuario cierra una ventana utilizando el Close comando del Window-
manager.When-Checkbox-Changed: Se dispara cuando el usuario cambia el
estado de un Check Box, haciendo click con el mouse o utilizando el
tecladoWhen-Radio-Changed: Se dispara cuando el usuario selecciona un
diferente radio button en un radio group, o cuando quita la selección del radio
button actualmente seleccionado.When-Image-Pressed: Se dispara cuando el
Oracle Forms Developer
87
GEDICA TRAINING & CONSULTING C.A.
usuario utiliza el mouse para: Hacer un click sobre la imagen o doble click en la
imagenWhen-List-Changed: Se dispara cuando el usuario selecciona un elemento
diferente en un list itemWhen-List-Activated: Se dispara cuando el usuario hace
doble click en un elemento de un list item que es desplegado en una listaON-
ERROR: Se activa normalmente en Form Builder cuando un mensaje de error es
presentado, utilizado para manejar errores de Form Builder y de Oracle Server, y
para personalizar mensajes de errorON-MESSAGE: Se activa normalmente en
Form Buildder cuando un mensaje del sistema es usado, se utiliza para suprimir o
personalizar un mensaje.PRE-QUERY: Se activa durante el proceso de Execute
Query or Count, justo antes de que Form Builder construya y use la declaración
SELECT. Se define a nivel del Block. Se dispara una vezPOST-QUERY: Cuando
una consulta es abierta en un block, el Post-Query trigger se dispara cada vez que
Form Builder hace el fetch de un registro dentro del block. Se dispara una vez
por cada registro colocado en el Block. Se define a nivel del Block. Se dispara una
vez. Se utiliza para llenar non-database items y estadísticas de cálculosWhen-
Validate-Item: Se activa durante el proceso de validación del Item. Especialmente
cuando el estatus de validación del Item es New o Changed.When-Validate-
Record: Se activa durante el proceso de validación del Record. Especialmente
cuando el estatus de validación del Record es New o Changed.Pre-Form: Se
dispara con el evento de entrar a una Forma permite restringir acceso a la forma e
Inicializar variables globales Post-Form Se dispara al salir de una forma permite
limpiar la forma antes de salir y enviar mensajes a los usuariosPre-block: Se
dispara con el evento de entrar a un bloque Post-block Se dispara al salir de un
bloque permite limpiar el bloque antes de salir.Practica 10 Aplique funcionalidad
a la forma creada en la práctica anterior a través del uso de los triggers adecuados,
a saber: botones, imágenes, etc.
1. Al ingresar una nueva orden de compra, añadir un número de línea, cuyo valor debe ser secuencial y automático.
2. Al crear una orden la fecha de la orden debe ser igual a la del día y no se permite modificarla
Oracle Forms Developer
88
GEDICA TRAINING & CONSULTING C.A.
Practica 11
3. En el modulo orden-producto, al ejecutar la consulta de las ordenes existentes la forma debe mostrar los datos asociados a los códigos del cliente, vendedor, producto
Practica 12
4. En los campos fecha valide que al incluir una nueva orden la fecha de la orden no sea mayor a la fecha del día.
5. En los campos vendedor, cliente y producto, valide que se introduzcan códigos existente
Oracle Forms Developer
89
GEDICA TRAINING & CONSULTING C.A.
Capítulo 13
MESSAGES Y ALERTS
Oracle Forms Developer
90
GEDICA TRAINING & CONSULTING C.A.
MESSAGES Y ALERTS
Form Builder muestra mensajes durante la ejecución de la aplicación para informar
al usuario sobre eventos ocurridos en la sesión. El desarrollador , puede querer suprimir o
modificar algunos de estos mensajes, dependiendo de sus requerimientos.
Form Builder se comunica con el usuario de las siguientes maneras:
Mensajes de Información: son mensajes que dicen al usuario sobre el estado actual
del procesamiento, se muestra en la línea de mensajes, y pueden ser suprimidos con
el trigger On-Message.
Mensajes de Error: estos informan al usuario sobre un error que ocurre, se muestran
en la línea de mensajes, y pueden ser suprimidos con un trigger On-Error.
Mensaje Working: este mensaje informa al usuario que la forma esta actualmente
procesando, se muestra en la línea de mensaje y puede ser suprimido asignando
True a la variable de sistema SUPPRESS_WORKING.
Mensajes de alerta (Alerts): Muestran mensajes que requieren de una respuesta o
acción por parte del usuario, es mostrado en una ventana modal.
Controlando los mensajes del sistema:
Ud. Puede definir cuales mensajes quiere sean mostrados y cuales serán suprimidos
de acuerdo al nivel de severidad del mensaje. Form Builder clasifica cada mensaje con un
nivel de severidad que indica si se trata de un mensaje muy importante o uno trivial. A
mayor numero mayor es la severidad del mensaje.
La calcificación va del nivel 0, el cual muestra todos los mensajes al 25, los
mayores de 25 son mensajes que no pueden ser suprimidos. En un trigger se puede
especificar que solo los mensajes mayores a una severidad especifica sean mostrados, los
menores serán suprimidos, esto se hace asignado el valor del nivel de severidad a la
variable del sistema MESSAGE_LEVEL, la cual por defecto tiene el valor 0, lo que indica
que todos los mensajes deben ser mostrados.
Oracle Forms Developer
91
GEDICA TRAINING & CONSULTING C.A.
ALERTS:
Un alerts es un aviso con el cual la aplicación se comunica con el usuario, se
despliega un cuadro de diálogo especial que muestra un mensaje o realiza una pregunta
sencilla que solicita un tipo de respuesta del tipo si o no del usuario, el cuadro tiene un
icono y hasta 3 botones como OK y Cancel, Yes o NO, etc. Tan bien se puede especificar
uno de estos 3 botones como el botón por defecto.
Existen 3 tipos de avisos, de stop, de información y de precaución.
Los avisos de stop o parada, muestran el icono de una señal de parada con el
mensaje.
El aviso de precaución muestra el icono de una exclamación con el mensaje.
El aviso de información muestra el icono de información con el mensaje.
Creando un Alert:
Para crear un alert ejecute los siguientes pasos:
Se selecciona la cabecera alerts en el object navigator y se hace clic en el icono
create.
Defina las propiedades del alert según sus requerimientos.
Propiedades de un alert:
Name: indica el nombre del objeto, es definido por el desarrollador.
Title: Título de la ventana de alerta.
Alert style; define el tipo de alert, es decir, de parada, de precaución o de
información.
Button1, button2, button3: etiquetas para cada una de las 3 posibles botones del
aviso, si se deja en blanco uno de los botones , no se muestra en la ventana.
Default Alert Button: determina el botón que estará por defecto.
Message: indica el mensaje que aparecerá en lo que se despliegue el alert.
Oracle Forms Developer
92
GEDICA TRAINING & CONSULTING C.A.
Como Mostrar un Alert:
Utilizando el subprograma SHOW_ALERT desde el código de un trigger, se puede
mostrar un aviso, este programa devuelve el numero alert_button1, alert_button2 o
alert_button3 dependiendo del botón seleccionado por el usuario. Después se puede
comprobar el numero devuelto y tomar las acciones apropiadas para cada caso en el código
del trigger.
Codificando un poco, se pueden crear alerts reutilizables y que muestren mensajes
dinámicos que hagan referencia a valores o items específicos.
Practica 13
1. Crear al modulo Orden – Productos, un procedimiento que muestre los mensajes en español de los errores o mensajes mas comunes que pueden ocurrir, tales como:
1.1. Valores obligatorios
1.2. Cursor en el primer registro
1.3. Incorrectos valores introducidos (Letras en vez de números, fecha errada, vendedor inexistente, producto inexistente, entre otros).
Oracle Forms Developer
93
GEDICA TRAINING & CONSULTING C.A.
Capítulo 14
INTEGRANDO REPORTES A UNA FORMA
Oracle Forms Developer
94
GEDICA TRAINING & CONSULTING C.A.
A través de Form Builder podemos interactuar con Oracle Reports y de esta manera
construir pantallas que luego permitan colocar la información que en ellas se encuentra en
un reporte.
Para lograr estos existe un Objeto en el object navigator de form Builder
denominado Report, es por medio de este objeto que lograremos la conexión.
Creando un reporte desde Form Builder
Debemos seguir los siguientes pasos:
Sitúese en el nodo Report del object navigator.
Haga clic sobre el icono create del object navigator.
En ese momento se despliega un cuadro de diálogo como el siguiente
en dicho cuadro tiene dos Radio Button para seleccionar la opción con la cual trabajará.
La primera opción le permite crear un nuevo reporte, adicionalmente tiene un check box
para indicar si el reporte a crear estará basado en un bloque de la forma actual. Si
selecciona esta opción se abrirá Oracle Reports de manera automática, si marcó el check
para que el reporte este basado en uno de los bloques de la forma, entonces al crear el
reporte se asume dicho bloque como el query del reporte.
Oracle Forms Developer
95
GEDICA TRAINING & CONSULTING C.A.
La segunda opción es para escoger trabajar con un reporte que ya esta elaborado,
simplemente indique el nombre del reporte.
Esto crea un objeto dentro del nodo report, con el nombre REPORT XX, ahora debe
configurar las propiedades de dicho objeto.
Propiedades del REPORT
Name: Nombre del objeto report
Filename: nombre del archivo ejecutable del reporte a mostrar de Oracle Report
Execution Mode: esta es la forma como se ejecutara el reporte desde form, hay 3
posibles opciones, Batch y rutime. El modo Batch no permite la interacción con el
usuario durante la ejecución, y el modo runtime si.
Comunication Mode: Modo en que se hará la comunicación con Report las
opciones son synchronous, asynchronous. Sincrónico indica que el control no
retornara a la aplicación que hace la llamada a Report hasta tanto la ejecución del
mismo no haya finalizado, asincrónico, devuelve el control a la aplicación
inmediatamente.
Data source Data Block: Nombre del bloque de la forma con el cual esta asociado
el reporte, es opcional, para que el reporte muestra la misma información que es
vista en la pantalla, este valor debe estar asignado, de lo contrario Forms solo llama
a un reporte aunque sus datos sean diferentes.
Query Name: es el nombre del query del Reporte.
Report Destination Type: Es la forma como saldrá el reporte, las opciones son
File, Screen, Printer, Preview, Mail, Cache.
Report destination Name: Nombre del dispositivo de salida, por ejemplo el
nombre de la impresora si la salida es Printer.
Report Destination Format: específica el formato en el cual saldrá el reporte
cuando la opción de salida es File, Por ejemplo PDF, HTML entre otros.
Report Server: Especifique el nombre de la cola de la maquina donde se ejecutará
el reporte.
Oracle Forms Developer
96
GEDICA TRAINING & CONSULTING C.A.
Other Report Parameters: una lista de parámetros que pueden ser pasados al
reporte.
Procedimientos de Form para Integrar con Report:
Para hacer la llamada al reporte es necesario ejecutar algunos programas de Form
diseñados para tal fin, dicha llamada puede realizarse desde un trigger, como por ejemplo al
presionar un botón para imprimir.
RUN_REPORT_OBJECT: Ejecuta el reporte desde form con los valores que ya
están configurados para el mismo. Parámetro de entrada report_id.
FIND_REPORT_OBJECT: es una función que recibe el nombre del objeto report y
si existe retorna el id del mismo.
Oracle Forms Developer
97
GEDICA TRAINING & CONSULTING C.A.
SET_REPORT_OBJECT_PROPERTY: permite modificar las propiedades
definidas para un objeto report
Oracle Forms Developer
98