Professional Documents
Culture Documents
ORACLE FORMS
DEVELOPER
Oracle 9iDS Release 2
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
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
...............................................................................................................................................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
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
Capítulo 1
INTRODUCCIÓN
iDS – ORACLE FORMS DEVELOPER
QUÉ ES IDS
Componentes De iDS
Oracle iDS consta de los siguientes componentes:
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.
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.
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
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.
Capítulo 2
FORM DEVELOPER ENVIRONMENT
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
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
Capítulo 3
CREANDO UN FORM MODULE
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:
Si ya se encuentra dentro de Oracle Forms Builder puede crear una nueva forma,
seleccionando del menú File-New-Form
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> .
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.
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
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
En la siguiente pantalla deberá indicar el bloque y los items que quiere sean visualizados en
el canvas
Una vez seleccionados los items a ser visualizados presione Next> y la siguiente pantalla le
permitirá modificar el prompt, ancho y alto de los items.
En la siguiente pantalla indique cual será el estilo para la pantalla que esta creando.
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.
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:
Compile Module
Una vez compilado el form module se genera un archivo con extensión FMX el cual es el
ejecutable.
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
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:
Run Form
Run Form Debug: Utiliza esta opción para depurar el form module durante la ejecución.
Para seleccionar un browser a través del cual ejecutar los módulos de forms builder,
debe seguir los siguientes pasos:
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:
DETAIL
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...
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
Capítulo 4
DATA BLOCKS Y FRAMES
• 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.
Para visualizar las propiedades de un objeto, seleccione uno de los siguientes métodos:
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.
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.
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.
Query Data Source Type: Esta propiedad especifica el tipo de consulta que
se efectuara en el data block, tiene los siguientes posibles valore: None,
Table, Procedure, Transactional Triggers o From Clause Query.
Query Data Source name: Indica el nombre del Objeto desde el cual se hará
la consulta, por ejemplo si se trata de una tabla, aquí se indica el nombre de
la tabla. Esta propiedad solo aplica cuando la propiedad anterior tiene uno de
los siguientes valores: table, procedure, From Clause Query.
Order By Clause: Define un orden por defecto para los registros a ser
mostrados.
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
Capítulo 5
TEXT ITEMS
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.
• 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.
Un text ítem tiene propiedades las cuales están divididas en los siguientes grupos:
• Functional:
Update only if null: determina la autorización del item solo cuando su valor
actual es nulo.
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:
• Prompt:
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
Capítulo 6
CREANDO LOVS Y EDITORS
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.
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.
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.
Existen dos formas de crear lista de valores, a través del asistente (LOV Wizard) o
de forma manual.
en la siguiente pantalla debe indicar el query sobre el cual se basara el nuevo Record
Group a crear
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.
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.
Las que pertenecen al grupo Functional son características propias de un LOV, y las
describiremos a continuación:
• 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.
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.
Creando un Editor:
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:
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.
Capítulo 7
CREANDO ADICIONAL INPUT ITEMS
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
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.
• 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.
• 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
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
Capítulo 8
NON-INPUT ITEMS
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
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.
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.
Calculated Items
Permite que usted declare un ítem basado en un cálculo de una o más variables. Son
de sólo lectura.
Modos de Cálculos
• Formula
Calcula los valores de un item como resultado de un cálculo horizontal
Envuelve variables tipo Bind, como items, variables globales y parámetros.
• Summary
Calcula los valores de un item como resultado de un cálculo vertical
Los summary son realizados en los valores de un item sobre todos las filas
de un Block
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.
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.
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.
Capítulo 9
CREANDO WINDOWS Y CONTENT
CANVASES
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:
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.
GUI Hints
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
Capítulo 10
OTROS TIPOS DE CANVAS
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.
VIEWPORT PROPERTY:
PHYSICAL PROPERTY:
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
Tab 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.
Capítulo 11
INTRODUCCIÓN A LOS TRIGGERS
Algunos items pueden ser definidos solo en ciertos niveles, por ejemplo un Trigger Post
Query, no puede ser definido a nivel del ítem,
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.
Jerarquía de Ejecución
Si existe mas de un trigger con el mismo nombre en una forma, Oracle Forms lanza
por defecto el asociado al elemento mas bajo en la jerarquía, es decir, si por ejemplo en un
módulo form existe el trigger WHEN-NEW-ITEM, a nivel de la forma, del bloque y del
ítem, se dispara el que esta asociado al ítem como tal, y los demás son ignorados, debido al
que el mas bajo en la jerarquía es el nivel del ítem. Sin embargo esta secuencia puede ser
alterada cambiando la propiedad execution Hierarchy.
Capítulo 12
CREANDO TRIGGERS
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.
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
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.
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
Capítulo 13
MESSAGES Y ALERTS
MESSAGES Y ALERTS
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.
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.
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).
Capítulo 14
INTEGRANDO REPORTES A UNA
FORMA
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.
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.
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.
• Other Report Parameters: una lista de parámetros que pueden ser pasados al
reporte.