Está en la página 1de 9

Oracle Developer Build Forms 1 SW-ORA-20110127

Repuestas a Práctica del Capítulo 21


Revisión: 1
Fecha: 27/01/2011

Oracle Developer Build Forms 1


Respuestas a Práctica del Capítulo 21
1. Introducción a la Práctica del Capítulo 21:

Esta práctica cubre los tópicos siguientes:


• Completa las imágenes de productos solamente cuando el item imagen es
mostrado
• Modifica el disparador “WHEN-BUTTON-PRESSED” del item
“IMAGE_BUTTON” para usar los IDs de objetos en lugar de los nombres de
objetos

En esta práctica, usa las propiedades y variables en el formulario “ORDG01”


para proporcionar un uso flexible del código. También hace uso de los IDs de
objetos.
• Completa las imágenes de productos solamente cuando el item imagen es
mostrado
• Modifica el disparador “WHEN-BUTTON-PRESSED” del item
“IMAGE_BUTTON” para usar IDs de objetos en lugar de los nombres de
objetos

2. Proceso: Práctica del Capítulo 21

2.1. En el formulario “ORDG01”, altere el disparador que completa el item


“PRODUCT_IMAGE” cuando la imagen es mostrada.
Agregue un chequeo en el código para verificar el “PRODUCT_IMAGE”.
Solamente efectúe las acciones del disparador si la imagen está siendo
mostrada actualmente. Use la función incorporada “GET_ITEM_PROPERTY”.

1/9
Oracle Developer Build Forms 1 SW-ORA-20110127
Repuestas a Práctica del Capítulo 21
Revisión: 1
Fecha: 27/01/2011

Respuesta 1:

En Windows 7 Ultimate 32 Bits, click en:


“Inicio → Todos los programas → Oracle Forms 6i → Form Builder”

2.1 - “Oracle Forms Builder” - ORDG01.fmb


1

Seleccionar “Open an existing form” y click en [ OK ]

2/9
Oracle Developer Build Forms 1 SW-ORA-20110127
Repuestas a Práctica del Capítulo 21
Revisión: 1
Fecha: 27/01/2011

2.1 - “Oracle Forms Builder” - ORDG01.fmb


2

Seleccionar el archivo de módulo de formulario “ORDG01.fmb” y click en [ Abrir ]

3/9
Oracle Developer Build Forms 1 SW-ORA-20110127
Repuestas a Práctica del Capítulo 21
Revisión: 1
Fecha: 27/01/2011

2.1 - “Oracle Forms Builder” - ORDG01.fmb


3

Click en “File → Connect...”


Ingresar el “User Name”, “Password”, “Database” y click en [ Connect ]

4/9
Oracle Developer Build Forms 1 SW-ORA-20110127
Repuestas a Práctica del Capítulo 21
Revisión: 1
Fecha: 27/01/2011

2.1 - “Oracle Forms Builder” - ORDG01.fmb


4

Doble click sobre el nodo del disparador “WHEN-NEW-RECORD-INSTANCE”


correspondiente al bloque de datos “S_ORD”
En el Editor PL/SQL modificar el código:

DECLARE
filename VARCHAR2(20);
BEGIN
IF GET_ITEM_PROPERTY('S_ITEM.PRODUCT_IMAGE', VISIBLE) = 'TRUE' THEN
filename := GET_PRODUCT_IMAGE(:S_ITEM.PRODUCT_ID);
IF filename = 'No file' THEN
NULL;
ELSE
READ_IMAGE_FILE(filename, 'tiff', 'S_ITEM.PRODUCT_IMAGE');
END IF;
END IF;
END;

Cerrar el Editor PL/SQL

5/9
Oracle Developer Build Forms 1 SW-ORA-20110127
Repuestas a Práctica del Capítulo 21
Revisión: 1
Fecha: 27/01/2011

2.1 - “Oracle Forms Builder” - ORDG01.fmb


5

Doble click sobre el nodo del disparador “WHEN-NEW-RECORD-INSTANCE”


correspondiente al bloque de datos “S_ITEM”
En el Editor PL/SQL modificar el código:

DECLARE
filename VARCHAR2(20);
BEGIN
IF GET_ITEM_PROPERTY('S_ITEM.PRODUCT_IMAGE', VISIBLE) = 'TRUE' THEN
filename := GET_PRODUCT_IMAGE(:S_ITEM.PRODUCT_ID);
IF filename = 'No file' THEN
NULL;
ELSE
READ_IMAGE_FILE(filename, 'tiff', 'S_ITEM.PRODUCT_IMAGE');
END IF;
END IF;
END;

Cerrar el Editor PL/SQL

2.2. Altere el disparador “WHEN-BUTTON-PRESSED” del item


“IMAGE_BUTTON” así se usan los IDs de objetos.
Use la función “FIND_object” para obtener los IDs de cada items referenciados
por el disparador. Declare variables para estos IDs, y uselas para cada
referencia a items en el disparador.

6/9
Oracle Developer Build Forms 1 SW-ORA-20110127
Repuestas a Práctica del Capítulo 21
Revisión: 1
Fecha: 27/01/2011

Respuesta 2:

2.2 - “Oracle Forms Builder” - ORDG01.fmb


1

Doble click sobre el disparador “WHEN-BUTTON-PRESSED” correspondiente al item


“CONTROL.IMAGE_BUTTON”
En el Editor PL/SQL modificar el código:

DECLARE
PRODUCT_IMAGE_ID ITEM := FIND_ITEM('S_ITEM.PRODUCT_IMAGE');
IMAGE_DESC_ID ITEM := FIND_ITEM('S_ITEM.IMAGE_DESCRIPTION');
IMAGE_BUTTON_ID ITEM := FIND_ITEM('CONTROL.IMAGE_BUTTON');
BEGIN
IF GET_ITEM_PROPERTY(PRODUCT_IMAGE_ID, VISIBLE) = 'TRUE' THEN
SET_ITEM_PROPERTY(PRODUCT_IMAGE_ID, VISIBLE, PROPERTY_FALSE);
SET_ITEM_PROPERTY(IMAGE_DESC_ID, VISIBLE, PROPERTY_FALSE);
SET_ITEM_PROPERTY(IMAGE_BUTTON_ID, LABEL, 'Image On');
ELSE
SET_ITEM_PROPERTY(PRODUCT_IMAGE_ID, VISIBLE, PROPERTY_TRUE);
SET_ITEM_PROPERTY(IMAGE_DESC_ID, VISIBLE, PROPERTY_TRUE);
SET_ITEM_PROPERTY(IMAGE_BUTTON_ID, LABEL, 'Image Off');
END IF;
END;

Cerrar el Editor PL/SQL

7/9
Oracle Developer Build Forms 1 SW-ORA-20110127
Repuestas a Práctica del Capítulo 21
Revisión: 1
Fecha: 27/01/2011

2.3. Guarde, Compile, y Ejecute el formulario para testear estas


características.

Respuesta 3:

2.3 - “Oracle Forms Builder” - ORDG01.fmb


1

En el Navegador de Objetos click en “Save” y en “Run Form Client/Server”


Cerrar el entorno de ejecución del formulario
Cerrar el archivo de módulo de formulario
Desconectar de la Base de Datos
Salir del Constructor de Formularios de Oracle

8/9
Oracle Developer Build Forms 1 SW-ORA-20110127
Repuestas a Práctica del Capítulo 21
Revisión: 1
Fecha: 27/01/2011

3. Referencias:

Item Referencia y URL


1 Oracle Developer: Build Forms 1
Volume 3 – Instructor Guide
43112GC10
Production 1.0
April 1999
M08606

Historia de Cambios

Revisión Autor Fecha Descripción


Ezequiel Hernán
1 27/01/2011 Creación del documento.
Villanueva

9/9

También podría gustarte