Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Respuestas a Práctica del Capítulo 17Respuestas a Práctica del Capítulo 17
1. Introducción a la Práctica del Capítulo 17:Introducción a la Práctica del Capítulo 17: Esta práctica cubre los tópicos siguientes:
• Completa los nombres de clientes y de los representantes de ventas para cada registro-fila del bloque “S_ORD”
• Completa la descripción para cada registro-fila del bloque “S_ITEM” • Deshabilita el efecto del botón “Exit” en el modo “Enter Query” • Añade dos cajas de verificación para habilitar los tipos de letra mayúscula y
minúscula y la correspondencia exacta en las consultas En esta práctica, crea dos disparadores de consulta para completar items que no están basados en tablas. También cambiará la interfaz de consulta predefinida para habilitar los tipos de letra mayúsculas y minúsculas y la correspondencia exacta en las consultas.
• Completa los nombres de clientes y de los representantes de ventas para cada registro-fila del bloque de datos “S_ORD”
• Completa las descripciones para cada registro-fila del bloque de datos “S_ITEM”
• Deshabilita el efecto del botón “Exit” en el modo “Enter Query” • Agrega dos cajas de verificación para habilitar los tipos de letras mayúsculas
y minúsculas, y la correspondencia exacta en las consultas
2. Proceso: Práctica del Capítulo 17Proceso: Práctica del Capítulo 17
2.1. En el formulario “ORDG01”, escriba un disparador que complete los items “CUSTOMER_NAME” y “SALES_REP_NAME” para cada registro-fila buscado y traído por una consulta en el bloque de datos “S_ORD”.
11//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/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.fmb2.1 - “Oracle Forms Builder” - ORDG01.fmb11
Seleccionar “Open an existing form” y click en [ OK ]
22//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
2.1 - “Oracle Forms Builder” - ORDG01.fmb2.1 - “Oracle Forms Builder” - ORDG01.fmb22
Seleccionar el archivo de módulo de formulario “ORDG01.fmb” y click en [ Abrir ]
33//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
2.1 - “Oracle Forms Builder” - ORDG01.fmb2.1 - “Oracle Forms Builder” - ORDG01.fmb33
Click en “File → Connect...” Ingresar el “User Name”, “Password”, “Database” y click en [ Connect ]
44//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
2.1 - “Oracle Forms Builder” - ORDG01.fmb2.1 - “Oracle Forms Builder” - ORDG01.fmb44
En el Navegador de Objetos seleccionar el nodo del item “Triggers” correspondiente al bloque de datos “S_ORD” Click en “Create”
55//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
2.1 - “Oracle Forms Builder” - ORDG01.fmb2.1 - “Oracle Forms Builder” - ORDG01.fmb55
Seleccionar el disparador “POST-QUERY” y click en [ OK ]
66//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
2.1 - “Oracle Forms Builder” - ORDG01.fmb2.1 - “Oracle Forms Builder” - ORDG01.fmb66
En el Editor PL/SQL escribir las sentencias SQL:“SELECT C.NAME, E.LAST_NAMEINTO :S_ORD.CUSTOMER_NAME, :S_ORD.SALES_REP_NAMEFROM S_CUSTOMER C, S_EMP EWHERE E.ID = C.SALES_REP_ID AND :S_ORD.CUSTOMER_ID = C.ID;”Cerrar el Editor PL/SQL
2.2. Escriba un disparador que complete la descripción para cada registro-fila
buscado y traído por una consulta en el bloque de datos “S_ITEM”.
77//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
Respuesta 2:
2.2 - “Oracle Forms Builder” - ORDG01.fmb2.2 - “Oracle Forms Builder” - ORDG01.fmb11
En el Navegador de Objetos seleccionar el nodo “Triggers” correspondiente al bloque de datos “S_ITEM” y click en “Create”
88//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
2.2 - “Oracle Forms Builder” - ORDG01.fmb2.2 - “Oracle Forms Builder” - ORDG01.fmb22
Seleccionar el disparador “POST-QUERY” y click en [ OK ]
99//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
2.2 - “Oracle Forms Builder” - ORDG01.fmb2.2 - “Oracle Forms Builder” - ORDG01.fmb33
En el Editor PL/SQL escribir las sentencias SQL:“SELECT NAMEINTO :S_ITEM.DESCRIPTIONFROM S_PRODUCTWHERE :S_ITEM.PRODUCT_ID = ID;”Cerrar el Editor PL/SQL
2.3. Asegúrese de que el botón “EXIT_BUTTON” no tiene efecto en el modo
“Enter Query”.
1010//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
Respuesta 3:
2.3 - “Oracle Forms Builder” - ORDG01.fmb2.3 - “Oracle Forms Builder” - ORDG01.fmb11
Click con el botón derecho del mouse sobre el nodo del item disparador“WHEN-BUTTON-PRESSED” correspondiente al item botón “CONTROL.EXIT_BUTTON” Click en “Tools → Property Palette”
1111//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
2.3 - “Oracle Forms Builder” - ORDG01.fmb2.3 - “Oracle Forms Builder” - ORDG01.fmb22
En la Paleta de Propiedades del item disparador “WHEN-BUTTON-PRESSED” correspondiente al item botón “CONTROL.EXIT_BUTTON” configurar:
• “Fire in Enter-Query Mode” con el valor “No” Cerrar la Paleta de Propiedades
2.4. Ajuste la interfaz de consulta predefinida. Abra el módulo de formulario
“CUSTOMERS”. Agregue una caja de verificación llamada “CONTROL.CASE_SENSITIVE” al formulario para que el usuario pueda especificar si la consulta por el nombre de un cliente debería ser sensible a mayúsculas. Puede importar el archivo “pr17_4.txt” dentro del disparador “WHEN-CHECKBOX-CHANGED”. Configure la propiedad del valor inicial a “Y”. En el bloque de control “CONTROL”, agregue la caja de verificación (llamada “CONTROL.CASE_SENSITIVE” como se muestra a continuación), y cree el disparador siguiente. Configure la propiedad “Mouse Navigate” con el valor “No”.
1212//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
Disparador “WHEN-CHECKBOX-CHANGED” en el item “CONTROL.CASE_SENSITIVE” (Caja de Verificación)
IF NVL(:CONTROL.CASE_SENSITIVE, 'Y') = 'Y' THENSET_ITEM_PROPERTY('S_CUSTOMER.NAME', CASE_INSENSITIVE_QUERY, PROPERTY_FALSE);
ELSESET_ITEM_PROPERTY('S_CUSTOMER.NAME', CASE_INSENSITIVE_QUERY, PROPERTY_TRUE);
END IF; Respuesta 4:
2.4 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.4 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb11
En el Navegador de Objetos click en “Open” Seleccionar el archivo de módulo de formulario “CUSTG01.fmb” y click en [ Abrir ]
1313//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
2.4 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.4 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb22
En el Navegador de Objetos seleccionar el nodo “Items” del bloque de control “CONTROL” Click en “Create” Renombrar el item nuevo como “CASE_SENSITIVE” Seleccionar el item “CASE_SENSITIVE” y click en “Tools → Property Palette” En la Paleta de Propiedades del item “CONTROL.CASE_SENSITIVE” configurar:
• “Item Type” con el valor “Check Box” • “Initial Value” con el valor “Y” • “Mouse Navigate” con el valor “No” • “Database Item” con el valor “No” • “Value When Checked” con el valor “Y” • “Value When Unchecked” con el valor “N”
Cerrar la Paleta de Propiedades
1414//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
2.4 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.4 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb33
Seleccionar el nodo “Triggers” correspondiente al item caja de verificación “CONTROL.CASE_SENSITIVE” y click en “Create”
1515//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
2.4 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.4 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb44
Seleccionar el disparador “WHEN-CHECKBOX-CHANGED” y click en [ OK ]
1616//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
2.4 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.4 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb55
En el Editor PL/SQL escribir las sentencias: “IF NVL(:CONTROL.CASE_SENSITIVE, 'Y') = 'Y' THEN
SET_ITEM_PROPERTY('S_CUSTOMER.NAME', CASE_INSENSITIVE_QUERY, PROPERTY_FALSE);ELSE
SET_ITEM_PROPERTY('S_CUSTOMER.NAME', CASE_INSENSITIVE_QUERY, PROPERTY_TRUE);END IF;”Cerrar el Editor PL/SQL
2.5. Agregue una caja de verificación llamada “CONTROL.EXACT_MATCH”
al formulario para que el usuario pueda especificar si una condición de consulta para un nombre de cliente debería corresponder exactamente con el valor de la tabla o nó. (Si se permiten correspondencias no exactas, el valor de búsqueda puede ser una parte del valor de la tabla). Puede importar el archivo “pr17_5.txt” dentro del disparador de pre-consulta. Configure el valor inicial con “Y”. Agregue la caja de verificación (llamada “CONTROL.EXACT_MATCH” como se muestra a continuación) al bloque de control “CONTROL” y cree el disparador siguiente. Configure la propiedad “Mouse Navigate” con el valor “No”.
1717//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
Disparador de Pre-Consulta en el bloque “S_CUSTOMER” IF NVL(:CONTROL.EXACT_MATCH, 'Y') = 'N' THEN
:S_CUSTOMER.NAME := '%' || :S_CUSTOMER.NAME || '%';END IF; Respuesta 5:
2.5 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.5 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb11
En el Navegador de Objetos seleccionar el nodo “Items” del bloque de control “CONTROL” en el formulario “CUSTOMERS” y click en “Create” Renombrar el item como “EXACT_MATCH”, seleccionarlo y click en “Tools → Property Palette”
1818//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
2.5 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.5 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb22
En la Paleta de Propiedades del item “CONTROL.EXACT_MATCH” configurar:• “Item Type” con el valor “Check Box” • “Initial Value” con el valor “Y” • “Mouse Navigate” con el valor “No” • “Database Item” con el valor “No” • “Value When Checked” con el valor “Y” • “Value When Unchecked” con el valor “N”
Cerrar la Paleta de Propiedades
1919//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
2.5 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.5 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb33
En el Navegador de Objetos seleccionar el nodo “Triggers” del bloque de datos “S_CUSTOMER” y click en “Create”
2020//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
2.5 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.5 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb44
Seleccionar el disparador “PRE-QUERY” y click en [ OK ]
2121//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
2.5 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.5 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb55
En el Editor PL/SQL escribir las sentencias: “IF NVL(:CONTROL.EXACT_MATCH, 'Y') = 'N' THEN
:S_CUSTOMER.NAME := '%' || :S_CUSTOMER.NAME || '%';END IF;”Cerrar el Editor PL/SQLClick en “Save” para ambos módulosCerrar ambos módulos de formularioDesconectar de la Base de Datos Salir del Constructor de Formularios de Oracle
2222//2323
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 17Repuestas a Práctica del Capítulo 17
SW-ORA-20110124SW-ORA-20110124
Revisión: 1Revisión: 1Fecha: 24/01/2011Fecha: 24/01/2011
3. Referencias:Referencias:
ItemItem Referencia y URLReferencia y URL11 Oracle Developer: Build Forms 1
Volume 2 – Instructor Guide43112GC10Production 1.0April 1999M08605
Historia de CambiosHistoria de Cambios
RevisiónRevisión AutorAutor FechaFecha DescripciónDescripción
11 Ezequiel Hernán Villanueva 24/01/2011 Creación del documento.
2323//2323