Está en la página 1de 103

GEDICA TRAINING & CONSULTING C.A.

ORACLE FORMS
DEVELOPER
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 ..............................6
QUÉ ES IDS...........................................................................................................................7
Componentes De iDS..............................................................................................................7
Interfaces Comunes.................................................................................................................7
Variables de Ambiente..........................................................................................................10
Conectándose A La Base De Datos:.....................................................................................11
Personalizar iDS- Forms.......................................................................................................12
Personalizando Sesión de Forms...........................................................................................12

CAPÍTULO 2 13
FORM DEVELOPER ENVIRONMENT.........................................................................13
Form Developer Características............................................................................................14
Forms Developer Ejecutables...............................................................................................14
Menu Principal De Form Builder..........................................................................................14
Form Builder Módulos..........................................................................................................15
Form Builder Componentes..................................................................................................16
Data Blocks( Bloque de Datos).............................................................................................17
Tipos de Blocks.....................................................................................................................17
Practica 1...............................................................................................................................18

CAPÍTULO 3 19
CREANDO UN FORM MODULE....................................................................................19
CREANDO UN FORM MODULE......................................................................................20
Usando los Wizards (Asistentes):.........................................................................................21
Creando un Nuevo Bloque....................................................................................................21
Creando un Nuevo Data Block Manualmente.......................................................................24
Data Block Funcionalidad.....................................................................................................24
Modificando el Diseño..........................................................................................................25
Guardando un Form Module.................................................................................................29
Compilando un Form Module...............................................................................................29
Ejecutando un Form Module.................................................................................................30
Escoger Un Browser Para Ejecutar Un Form Module..........................................................31
USANDO BLOQUES CON RELACIONES:...........................................................................................32
Data Block Wizard - Master-Detail Page............................................................................33
Practica 2...............................................................................................................................34

CAPÍTULO 4 35

Oracle Forms Developer


2
GEDICA TRAINING & CONSULTING C.A.

DATA BLOCKS Y FRAMES............................................................................................35


MODIFICANDO LA APARIENCIA DE UN DATA BLOCKS......................................................................36
PROPIEDADES DE LOS OBJETOS:..................................................................................36
Múltiples Property Palettes...................................................................................................38
PROPIEDADES DE UN BLOQUE DE DATOS (DATA BLOCKS)................................................................38
Creando un Control Block....................................................................................................41
Eliminando un Data Block....................................................................................................41
Practica 3...............................................................................................................................42

CAPÍTULO 5 43
TEXT ITEMS.....................................................................................................................43
TEXT ITEMS........................................................................................................................44
Creando un Text Item............................................................................................................44
Modificando la apariencia de un Text Item..........................................................................44
Practica 4...............................................................................................................................50

CAPÍTULO 6 51
CREANDO LOVS Y EDITORS........................................................................................51
LOVS Y EDITORS.....................................................................................................................52
LOVS....................................................................................................................................52
Creando una lista de valores.................................................................................................52
Crear un LOV utilizando el LOV Wizard:............................................................................53
Propiedades de las Lista de valores LOV.............................................................................57
Recomendaciones para LOV.................................................................................................58
EDITORS..............................................................................................................................58
Creando un Editor:................................................................................................................59
Asociando un Editor a un text item.......................................................................................59
Practica 5...............................................................................................................................60

CAPÍTULO 7 61
CREANDO ADICIONAL INPUT ITEMS.......................................................................61
ADICIONAL INPUT ITEMS.............................................................................................................62
Creando un Check Box.........................................................................................................62
Propiedades Específicas de un Check Box...........................................................................63
Creando un List Item: ...........................................................................................................63
Beneficios de los List Items:.................................................................................................65
Propiedades Específicas para un List Item............................................................................65
Creando Radio Groups..........................................................................................................66
Beneficios del Radio group...................................................................................................66
Propiedades Específicas para un Radio Group.....................................................................67
Radio Group..........................................................................................................................67
Radio Button.........................................................................................................................67
Practica 6...............................................................................................................................67

Oracle Forms Developer


3
GEDICA TRAINING & CONSULTING C.A.

...............................................................................................................................................68

CAPÍTULO 8 68
NON-INPUT ITEMS..........................................................................................................68
NON-INPUT ITEMS............................................................................................................69
Display Items........................................................................................................................69
Creando un Display Item......................................................................................................69
Image Items...........................................................................................................................70
Creando un Image Item.........................................................................................................71
Propiedades Específicas de Image Item................................................................................71
Buttons..................................................................................................................................71
Propiedades Específicas de un Button..................................................................................72
Calculated Items....................................................................................................................72
Modos de Cálculos................................................................................................................72
Propiedades Específicas para un Calculated Item ................................................................73
Reglas para los Formula Items..............................................................................................73
Reglas para los Summary Items............................................................................................74
Hierarchical Item...................................................................................................................74
Practica 7 ..............................................................................................................................74

CAPÍTULO 9 76
CREANDO WINDOWS Y CONTENT CANVASES......................................................76
WINDOWS Y CANVASES.................................................................................................77
Windows...............................................................................................................................77
Canvas...................................................................................................................................77
TIPOS DE CANVAS:...........................................................................................................77
Creando un Content Canvas..................................................................................................77
Relacion entre el window y el canvas...................................................................................77
Tipos de Windows.................................................................................................................78
Propiedades De Los Windows..............................................................................................78
GUI Hints..............................................................................................................................79
Propiedades funcionales para GUI Hints..............................................................................79
Creando un Nuevo Window..................................................................................................80
Practica 8 ..............................................................................................................................80

CAPÍTULO 10 81

OTROS TIPOS DE CANVAS............................................................................................81


OTROS TIPOS DE CANVAS..............................................................................................82
STACKED CANVAS.....................................................................................................................82
Stacked Canvas Propiedades.................................................................................................82
Viewport Property:................................................................................................................82
Physical Property: ................................................................................................................83

Oracle Forms Developer


4
GEDICA TRAINING & CONSULTING C.A.

Toolbars.................................................................................................................................83
Toolbar Propiedades..............................................................................................................83
Canvas PROPIEDADES.......................................................................................................83
Window Propiedades ...........................................................................................................83
Form Module Propiedades....................................................................................................84
Tab Canvas............................................................................................................................84
Practica 9 ..............................................................................................................................84

CAPÍTULO 11 86
INTRODUCCIÓN A LOS TRIGGERS............................................................................86
FORM BUILDER TRIGGERS...........................................................................................................87
Componentes del Alcance de un Trigger..............................................................................87
Componentes de un Tipo de Trigger.....................................................................................88
Componentes del Código de un Trigger...............................................................................88
Jerarquía de Ejecución..........................................................................................................88

CAPÍTULO 12 90
CREANDO TRIGGERS....................................................................................................90
CREAR UN TRIGGER........................................................................................................91
Propiedades de un Trigger....................................................................................................91
Form Builder Built-in Subprogramas....................................................................................91
USANDO LOS TRIGGERS.................................................................................................92
Practica 10 ............................................................................................................................94
Practica 11 ............................................................................................................................94
Practica 12 ............................................................................................................................94

CAPÍTULO 13 95
MESSAGES Y ALERTS....................................................................................................95
MESSAGES Y ALERTS......................................................................................................96
Controlando los mensajes del sistema:.................................................................................96
ALERTS:...............................................................................................................................97
Creando un Alert:..................................................................................................................97
Propiedades de un alert:........................................................................................................97
Como Mostrar un Alert:........................................................................................................98
Practica 13 ............................................................................................................................98

CAPÍTULO 14 99
INTEGRANDO REPORTES A UNA FORMA...............................................................99
Creando un reporte desde Form Builder.............................................................................100
Propiedades del REPORT...................................................................................................101
Procedimientos de Form para Integrar con Report:............................................................102

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)

Oracle Forms Developer


10
GEDICA TRAINING & CONSULTING C.A.

<ORACLE9iDS HOME>/jdk/bin/jar –cfv <<nombre-archivo-


jar>> *.gif
• 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.fmx
archive_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.

Oracle Forms Developer


11
GEDICA TRAINING & CONSULTING C.A.

• Seleccione el menú File – Connect


• 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.
F O R M M O D U L E S : Es el principal componente de una aplicación el cual muestra la
data con la cual el usuario interactuará.
M E N U M O D U L E S : 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.

Oracle Forms Developer


15
GEDICA TRAINING & CONSULTING C.A.

O B J E C T L I B R A R Y M O D U L E S : 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.

P L / S Q L L I B R A R Y M O D U L E S : 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

• B L O C K S : 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.

• I T E M S : 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.

• C A N V A S : 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.

• W I N D O W S : 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

Oracle Forms Developer


16
GEDICA TRAINING & CONSULTING C.A.

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.

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 BLOCKS

Hay 2 tipos principales de blocks en Form Builder


Data 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.

Oracle Forms Developer


17
GEDICA TRAINING & CONSULTING C.A.

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 1
1. Utilizando el asistente, crear un form module que consulte todos los registros de la
tabla s_dept.
2. 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

Oracle Forms Developer


24
GEDICA TRAINING & CONSULTING C.A.

• Prompt por cada Item

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.

Oracle Forms Developer


26
GEDICA TRAINING & CONSULTING C.A.

En la siguiente pantalla indique cual será el estilo para la pantalla que esta creando.

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.

Oracle Forms Developer


27
GEDICA TRAINING & CONSULTING C.A.

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


28
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.

Compile Module

Oracle Forms Developer


29
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


30
GEDICA TRAINING & CONSULTING C.A.

Run Form Debug

Run Form

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


31
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:

MASTER MASTER MASTER

DETAIL DETAIL DETAIL DETAIL

DETAIL

Oracle Forms Developer


32
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


33
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


34
GEDICA TRAINING & CONSULTING C.A.

Capítulo 4
DATA BLOCKS Y FRAMES

Oracle Forms Developer


35
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


36
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


37
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.

Oracle Forms Developer


38
GEDICA TRAINING & CONSULTING C.A.

• 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:

 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.

Oracle Forms Developer


39
GEDICA TRAINING & CONSULTING C.A.

 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).

 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

Oracle Forms Developer


40
GEDICA TRAINING & CONSULTING C.A.

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

Oracle Forms Developer


41
GEDICA TRAINING & CONSULTING C.A.

• 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:
• 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


42
GEDICA TRAINING & CONSULTING C.A.

Capítulo 5
TEXT ITEMS

Oracle Forms Developer


43
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.

Boton Text Item


En el layout editor

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 :

Oracle Forms Developer


44
GEDICA TRAINING & CONSULTING C.A.

 Name: Muestra el nombre del item.


 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,

Oracle Forms Developer


45
GEDICA TRAINING & CONSULTING C.A.

Form Builder avanza al siguiente ítem navegable siguiendo la secuencia


definida.

 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.

Oracle Forms Developer


46
GEDICA TRAINING & CONSULTING C.A.

 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:

 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.

Oracle Forms Developer


47
GEDICA TRAINING & CONSULTING C.A.

 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.
 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.

Oracle Forms Developer


48
GEDICA TRAINING & CONSULTING C.A.

 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


49
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


50
GEDICA TRAINING & CONSULTING C.A.

Capítulo 6
CREANDO LOVS Y EDITORS

Oracle Forms Developer


51
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


52
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


53
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


54
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


55
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


56
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


57
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


58
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


59
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


60
GEDICA TRAINING & CONSULTING C.A.

Capítulo 7
CREANDO ADICIONAL INPUT ITEMS

Oracle Forms Developer


61
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


62
GEDICA TRAINING & CONSULTING C.A.

Boton Check Box


En el layout editor

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


63
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:

Oracle Forms Developer


64
GEDICA TRAINING & CONSULTING C.A.

• Utilizando el List Item Tool en el Layout Editor


• Usando el Create Icon en el Object Navigator
• Convirtiendo un Item existente

Boton List Item


En el layout editor

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


65
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


66
GEDICA TRAINING & CONSULTING C.A.

Boton Radio Group


En el layout editor

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


67
GEDICA TRAINING & CONSULTING C.A.

Capítulo 8
NON-INPUT ITEMS

Oracle Forms Developer


68
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


69
GEDICA TRAINING & CONSULTING C.A.

Boton Display Item en


el Layout Editor

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

Oracle Forms Developer


70
GEDICA TRAINING & CONSULTING C.A.

• Item Imagen Name


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.

Botón Image Item


En el Layout Editor

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.

Oracle Forms Developer


71
GEDICA TRAINING & CONSULTING C.A.

• Iconic: se visualiza con la imagen de un icono, son utilizados generalmente


en barras de herramientas.
Puede utilizar el Button para:
• 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.

Oracle Forms Developer


72
GEDICA TRAINING & CONSULTING C.A.

• 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

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

Oracle Forms Developer


73
GEDICA TRAINING & CONSULTING C.A.

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
• 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.

Oracle Forms Developer


74
GEDICA TRAINING & CONSULTING C.A.

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


75
GEDICA TRAINING & CONSULTING C.A.

Capítulo 9
CREANDO WINDOWS Y CONTENT
CANVASES

Oracle Forms Developer


76
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


77
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:

Oracle Forms Developer


78
GEDICA TRAINING & CONSULTING C.A.

 Bevel: determina como se mostraran los bordes de la ventana.


 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.

Oracle Forms Developer


79
GEDICA TRAINING & CONSULTING C.A.

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:

• 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


80
GEDICA TRAINING & CONSULTING C.A.

Capítulo 10
OTROS TIPOS DE CANVAS

Oracle Forms Developer


81
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.

Oracle Forms Developer


82
GEDICA TRAINING & CONSULTING C.A.

PHYSICAL PROPERTY:

• Show horizontal Scrollbar: determina si el canvas tendrá una barra desplazamiento


horizontal.
• 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

Oracle Forms Developer


83
GEDICA TRAINING & CONSULTING C.A.

FORM MODULE PROPIEDADES

• Form Horizontal Toolbar Canvas: indica la barra horizontal que se mostrará en el


MDI de la ventana.
• 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.

Oracle Forms Developer


84
GEDICA TRAINING & CONSULTING C.A.

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


85
GEDICA TRAINING & CONSULTING C.A.

Capítulo 11
INTRODUCCIÓN A LOS TRIGGERS

Oracle Forms Developer


86
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.

Oracle Forms Developer


87
GEDICA TRAINING & CONSULTING C.A.

Algunos items pueden ser definidos solo en ciertos niveles, por ejemplo un Trigger Post
Query, no puede ser definido a nivel del ítem,

Componentes de un Tipo de Trigger

Se 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

Oracle Forms Developer


88
GEDICA TRAINING & CONSULTING C.A.

í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


89
GEDICA TRAINING & CONSULTING C.A.

Capítulo 12
CREANDO TRIGGERS

Oracle Forms Developer


90
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


91
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 TRIGGERS


A continuación una lista descriptiva de los triggers mas comúnmente utilizados:
When-Button-Pressed: Se activa cuando el usuario selecciona un botón
When-window-Closed: Se activa cuando el usuario cierra una ventana utilizando el Close
comando del Window-manager.

Oracle Forms Developer


92
GEDICA TRAINING & CONSULTING C.A.

When-Checkbox-Changed: Se dispara cuando el usuario cambia el estado de un Check


Box, haciendo click con el mouse o utilizando el teclado
When-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 usuario utiliza el mouse para: Hacer un click
sobre la imagen o doble click en la imagen
When-List-Changed: Se dispara cuando el usuario selecciona un elemento diferente en un
list item
When-List-Activated: Se dispara cuando el usuario hace doble click en un elemento de un
list item que es desplegado en una lista
ON-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 error
ON-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 vez
POST-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álculos
When-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 usuarios

Oracle Forms Developer


93
GEDICA TRAINING & CONSULTING C.A.

Pre-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
1. 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.
2. Al ingresar una nueva orden de compra, añadir un número de línea, cuyo valor debe ser
secuencial y automático.
3. Al crear una orden la fecha de la orden debe ser igual a la del día y no se permite
modificarla
Practica 11
4. 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
5. 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.
6. En los campos vendedor, cliente y producto, valide que se introduzcan códigos
existente

Oracle Forms Developer


94
GEDICA TRAINING & CONSULTING C.A.

Capítulo 13
MESSAGES Y ALERTS

Oracle Forms Developer


95
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


96
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


97
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


98
GEDICA TRAINING & CONSULTING C.A.

Capítulo 14
INTEGRANDO REPORTES A UNA
FORMA

Oracle Forms Developer


99
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


100
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


101
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


102
GEDICA TRAINING & CONSULTING C.A.

• SET_REPORT_OBJECT_PROPERTY: permite modificar las propiedades


definidas para un objeto report

Oracle Forms Developer


103