+ All Categories
Home > Documents > SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Date post: 02-Apr-2015
Category:
Upload: ehv80
View: 471 times
Download: 4 times
Share this document with a friend
Description:
Oracle Developer 6i Build Forms 1 Respuestas a Practica del Capitulo 20
40
Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20 Repuestas a Práctica del Capítulo 20 SW-ORA-20110126 SW-ORA-20110126 Revisión: 1 Revisión: 1 Fecha: 26/01/2011 Fecha: 26/01/2011 Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Respuestas a Práctica del Capítulo 20 Respuestas a Práctica del Capítulo 20 1. Introducción a la Práctica del Capítulo 20: Introducción a la Práctica del Capítulo 20: Esta práctica cubre los tópicos siguientes: Completa automáticamente los IDs de órdenes usando una secuencia Completa automáticamente los IDs de items agregando id de órden actual mas alto Personaliza los mensajes de confirmación en el formulario “CUSTOMERS” Personaliza la pantalla de acceso y autenticación de usuario en el formulario “CUSTOMERS” En esta práctica, agrega disparadores transaccionales al formulario “ORDG01” para proporcionar automáticamente números de secuencia a los registros-filas en el momento de almacenamiento. También personaliza los mensajes de confirmación y la pantalla de acceso en el formulario “CUSTG01”. Completa automáticamente los IDs de órdenes usando una secuencia Completa automáticamente los IDs de items agregando el ID de órden actual mas alto Personaliza los mensajes de confirmación en el formulario “CUSTOMERS” Personaliza la pantalla de acceso en el formulario “CUSTOMERS” 2. Proceso: Práctica del Capítulo 20 Proceso: Práctica del Capítulo 20 2.1. En el formulario “ORDG01” escriba un disparador transaccional sobre el bloque de datos “S_ORD” que complete “S_ORD.ID” con el valor siguiente de la secuencia “S_ORD_ID_SK”. Cree un disparador “Pre-Insert” que asigne un valor desde esta secuencia. Si ocurre una excepción en el disparador, éste falla con un mensaje. 1/ 40 40
Transcript
Page 1: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Respuestas a Práctica del Capítulo 20Respuestas a Práctica del Capítulo 20

1. Introducción a la Práctica del Capítulo 20:Introducción a la Práctica del Capítulo 20: Esta práctica cubre los tópicos siguientes:

• Completa automáticamente los IDs de órdenes usando una secuencia • Completa automáticamente los IDs de items agregando id de órden actual

mas alto• Personaliza los mensajes de confirmación en el formulario “CUSTOMERS” • Personaliza la pantalla de acceso y autenticación de usuario en el formulario

“CUSTOMERS” En esta práctica, agrega disparadores transaccionales al formulario “ORDG01” para proporcionar automáticamente números de secuencia a los registros-filas en el momento de almacenamiento. También personaliza los mensajes de confirmación y la pantalla de acceso en el formulario “CUSTG01”.

• Completa automáticamente los IDs de órdenes usando una secuencia• Completa automáticamente los IDs de items agregando el ID de órden

actual mas alto• Personaliza los mensajes de confirmación en el formulario “CUSTOMERS” • Personaliza la pantalla de acceso en el formulario “CUSTOMERS”

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

2.1. En el formulario “ORDG01” escriba un disparador transaccional sobre el

bloque de datos “S_ORD” que complete “S_ORD.ID” con el valor siguiente de la secuencia “S_ORD_ID_SK”.Cree un disparador “Pre-Insert” que asigne un valor desde esta secuencia. Si ocurre una excepción en el disparador, éste falla con un mensaje.

11//4040

Page 2: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

Revisión: 1Revisión: 1Fecha: 26/01/2011Fecha: 26/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//4040

Page 3: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

Revisión: 1Revisión: 1Fecha: 26/01/2011Fecha: 26/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//4040

Page 4: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

Revisión: 1Revisión: 1Fecha: 26/01/2011Fecha: 26/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 ] Mediante la aplicación de símbolo de sistema, utilizar “sqlplus” para conectarse a la Base de Datos y crear la secuencia “S_ORD_ID_SK”:“SQL> CREATE SEQUENCE S_ORD_ID_SK INCREMENT BY 1 START WITH 1”

44//4040

Page 5: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.1 - “Oracle Forms Builder” - ORDG01.fmb2.1 - “Oracle Forms Builder” - ORDG01.fmb44

Seleccionar el nodo “Triggers” correspondiente al bloque de datos “S_ORD” y click en “Create”

55//4040

Page 6: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.1 - “Oracle Forms Builder” - ORDG01.fmb2.1 - “Oracle Forms Builder” - ORDG01.fmb55

Seleccionar el disparador “PRE-INSERT” y click en [ OK ]

66//4040

Page 7: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.1 - “Oracle Forms Builder” - ORDG01.fmb2.1 - “Oracle Forms Builder” - ORDG01.fmb66

En el Editor PL/SQL escribir las sentencias: “SELECT S_ORD_ID_SK.NEXTVALINTO :S_ORD.IDFROM SYS.DUAL;EXCEPTION WHEN OTHERS THEN MESSAGE('Failed to assign Order Id'); RAISE FORM_TRIGGER_FAILURE;”Cerrar el Editor PL/SQL

2.2. En el bloque de datos “S_ORD”, configure la propiedad “Enabled” para

el item “ID” con el valor “No”.

77//4040

Page 8: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

Revisión: 1Revisión: 1Fecha: 26/01/2011Fecha: 26/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 del item “S_ORD.ID” y click en “Tools → Property Palette” En la Paleta de Propiedades del item “S_ORD.ID” configurar:

• “Enabled” con el valor “No” Cerrar la Paleta de Propiedades

2.3. Guarde, Compile, y Ejecute el formulario para testear los cambios.

Inserte una órden nueva. El ID único para la órden debería aparecer cuando lo guarda.

88//4040

Page 9: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

Respuesta 3:

2.3 - “Oracle Forms Builder” - ORDG01.fmb2.3 - “Oracle Forms Builder” - ORDG01.fmb11

En el Navegador de Objetos seleccionar el nodo del formulario “ORDERS” Click en “Save” y en “Run Form Client/Server”

99//4040

Page 10: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.3 - “Oracle Forms Builder” - ORDG01.fmb2.3 - “Oracle Forms Builder” - ORDG01.fmb22

Se observa el entorno de tiempo de ejecución del formulario “ORDG01” Se ingresa un registro nuevo con los siguientes valores:

• Order Id: deshabilitado, valorizado por secuencia• Date Ordered: 26-JAN-2011• Date Shipped: • Customer Id: 204• Customer Name: Womansport• Sales Rep Id: 11• Sales Rep Name: Magee• Payment Type: Cash• Order Filled: Sí• Item Id: 1 • Product Id: 10011• Description: Boot• Price: 135• Quantity: 2• Quantity Shipped: 2

Click en “Save”

1010//4040

Page 11: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.3 - “Oracle Forms Builder” - ORDG01.fmb2.3 - “Oracle Forms Builder” - ORDG01.fmb33

Se observa un mensaje de error y no se puede guardarSe cierra el entorno de tiempo de ejecución y no se realiza otra modificación al formulario

2.4. Cree un disparador similar en el bloque de datos “S_ITEM” que asigne el

item “ITEM_ID” cuando se guarda un registro-fila nuevo.Derive este número agregando al “ITEM_ID” actual más alto para la órden. Efectúe la acción en un disparador “Pre-Insert”. Configure la propiedades “Required” y “Enabled” con el valor “No” para el item “ITEM_ID”.

1111//4040

Page 12: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

Respuesta 4:

2.4 - “Oracle Forms Builder” - ORDG01.fmb2.4 - “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”

1212//4040

Page 13: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.4 - “Oracle Forms Builder” - ORDG01.fmb2.4 - “Oracle Forms Builder” - ORDG01.fmb22

Seleccionar el disparador “PRE-INSERT” y click en [ OK ]

1313//4040

Page 14: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.4 - “Oracle Forms Builder” - ORDG01.fmb2.4 - “Oracle Forms Builder” - ORDG01.fmb33

En el Editor PL/SQL escribir las sentencias:“SELECT NVL( MAX( ITEM_ID ), 0 ) + 1INTO :S_ITEM.ITEM_IDFROM S_ITEMWHERE :S_ITEM.ORD_ID = ORD_ID;”Cerrar el Editor PL/SQL

1414//4040

Page 15: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.4 - “Oracle Forms Builder” - ORDG01.fmb2.4 - “Oracle Forms Builder” - ORDG01.fmb44

Doble click sobre el nodo del item “S_ITEM.ITEM_ID” y configurar en la Paleta de Propiedades:

• “Required” con el valor “No” • “Enabled” con el valor “No”

Cerrar la Paleta de Propiedades

2.5. Guarde, Compile, y Ejecute el formulario para testear los cambios.Inserte un registro-fila nuevo de línea de item, en el bloque “S_ITEM”, luego guardelo.Nota del Instructor: La solución 20:4 no es la forma mas segura. La mejor solución es mantener el número total de registros-filas en otra tabla que pueda bloquear, pero esta solución es demasiado avanzada para esta fase de aprendizaje.

1515//4040

Page 16: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

Respuesta 5:

2.5 - “Oracle Forms Builder” - ORDG01.fmb2.5 - “Oracle Forms Builder” - ORDG01.fmb11

En el Navegador click en “Save”, y en “Run Form Client/Server” Click en “Next Block” y click en “Insert Record”Introducir los siguientes valores:

• Seleccionar de la Lista de Valores el “Product Id”: 10022• Ingresar las cantidades de: 2

Click en “Save”

1616//4040

Page 17: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.5 - “Oracle Forms Builder” - ORDG01.fmb2.5 - “Oracle Forms Builder” - ORDG01.fmb22

Se observa otro mensaje de error causado por el disparador “WHEN-VALIDATED-ITEM” en el campo “S_ITEM.ITEM_ID” Cerrar el entorno de tiempo de ejecución

2.6. Abra el módulo de formulario “CUSTG01”. Cree tres variables globales

llamadas “GLOBAL.INSERT”, “GLOBAL.UPDATE”, y “GLOBAL.DELETE”.Estas variables indican respectivamente el número de inserciones, actualizaciones, y eliminaciones. Necesita escribir disparadores “POST-INSERT”, “POST-UPDATE”, y “POST-DELETE” para inicializar e incrementar el valor de cada variable global.

1717//4040

Page 18: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

Respuesta 6:

2.6 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.6 - “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” Seleccionar el nodo “Triggers” correspondiente al bloque de datos “S_CUSTOMER” y click en “Create”

1818//4040

Page 19: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.6 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.6 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb22

Seleccionar el disparador “POST-INSERT” y click en [ OK ]

1919//4040

Page 20: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.6 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.6 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb33

En el Editor PL/SQL escribir las sentencias:“DEFAULT_VALUE('0', 'GLOBAL.INSERT');:GLOBAL.INSERT := TO_CHAR( TO_NUMBER( :GLOBAL.INSERT ) + 1 );”Cerrar el Editor PL/SQL

2020//4040

Page 21: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.6 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.6 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb44

En el Navegador de Objetos seleccionar el nodo “Triggers” correpondiente al bloque de datos “S_CUSTOMER” y click en “Create”

2121//4040

Page 22: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.6 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.6 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb55

Seleccionar el disparador “POST-UPDATE” y click en [ OK ]

2222//4040

Page 23: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.6 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.6 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb66

En el Editor PL/SQL escribir las sentencias:“DEFAULT_VALUE('0', 'GLOBAL.UPDATE');:GLOBAL.UPDATE := TO_CHAR( TO_NUMBER( :GLOBAL.UPDATE ) + 1 );”Cerrar el Editor PL/SQL

2323//4040

Page 24: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.6 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.6 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb77

En el Navegador de Objetos seleccionar el nodo “Triggers” correspondiente al bloque de datos “S_CUSTOMER” y click en “Create”

2424//4040

Page 25: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.6 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.6 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb88

Seleccionar el disparador “POST-DELETE” y click en [ OK ]

2525//4040

Page 26: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.6 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.6 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb99

En el Editor PL/SQL escribir las sentencias:“DEFAULT_VALUE('0', GLOBAL.DELETE);:GLOBAL.DELETE := TO_CHAR( TO_NUMBER( :GLOBAL.DELETE ) + 1 );”Cerrar el Editor PL/SQL

2.7. Cree un procedimiento llamado “HANDLE_MESSAGE”. Importe el

archivo “pr20_10.txt”. Este procedimiento recibe dos argumentos. El primero es un número de mensaje, y el segundo es un indicador de error Booleano. Este procedimiento usa las tres variables globales para mostrar un mensaje de confirmación personalizado y entonces borra las variables globales.

2626//4040

Page 27: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

PROCEDURE handle_message( message_number IN NUMBER, IS_ERROR IN BOOLEAN ) ISBEGIN

IF message_number IN (40400, 40406, 40407 ) THENDEFAULT_VALUE( '0', 'GLOBAL.INSERT' );DEFAULT_VALUE( '0', 'GLOBAL.UPDATE' );DEFAULT_VALUE( '0', 'GLOBAL.DELETE' );MESSAGE( 'Save Ok: ' ||

:GLOBAL.INSERT || 'records inserted, ' ||:GLOBAL.UPDATE || 'records updated, ' ||:GLOBAL.DELETE || 'records deleted!!!'

);ELSIF IS_ERROR = TRUE THEN

MESSAGE('ERROR: ' || ERROR_TEXT );ELSE

MESSAGE( MESSAGE_TEXT );END IF;

END; Invoque el procedimiento cuando ocurra un error. Pase el código de error y “TRUE”. Invoque al procedimiento cuando ocurra un mensaje. Pase el código de mensaje y “FALSE”.

2727//4040

Page 28: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

Respuesta 7:

2.7 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.7 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb11

En el Navegador de Objetos seleccionar el nodo “Program Units” y click en “Create” Seleccionar “Procedure”, ingresar el nombre “HANDLE_MESSAGE” y click en [ OK ]

2828//4040

Page 29: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.7 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.7 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb22

En el Editor PL/SQL escribir las sentencias para el procedimiento:“

PROCEDURE handle_message( message_number IN NUMBER, IS_ERROR IN BOOLEAN ) ISBEGIN

IF message_number IN (40400, 40406, 40407 ) THENDEFAULT_VALUE( '0', 'GLOBAL.INSERT' );DEFAULT_VALUE( '0', 'GLOBAL.UPDATE' );DEFAULT_VALUE( '0', 'GLOBAL.DELETE' );MESSAGE( 'Save Ok: ' ||

:GLOBAL.INSERT || 'records inserted, ' ||:GLOBAL.UPDATE || 'records updated, ' ||:GLOBAL.DELETE || 'records deleted!!!'

);ELSIF IS_ERROR = TRUE THEN

MESSAGE('ERROR: ' || ERROR_TEXT );ELSE

MESSAGE( MESSAGE_TEXT );END IF;

END;”Cerrar el Editor PL/SQL

2929//4040

Page 30: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.7 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.7 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb33

En el Navegador de Objetos seleccionar el nodo “Triggers” correspondiente al formulario “CUSTOMERS” y click en “Create”

3030//4040

Page 31: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.7 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.7 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb44

Seleccionar el disparador “ON-ERROR” y click en [ OK ]

3131//4040

Page 32: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.7 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.7 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb55

En el Editor PL/SQL escribir la sentencia:“HANDLE_MESSAGE( ERROR_CODE , TRUE );”Cerrar el Editor PL/SQL

3232//4040

Page 33: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.7 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.7 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb66

En el Navegador de Objetos seleccionar el nodo “Triggers” correspondiente al bloque de datos “S_CUSTOMER” y click en “Create”

3333//4040

Page 34: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.7 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.7 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb77

Seleccionar el disparador “ON-MESSAGE” y click en [ OK ]

3434//4040

Page 35: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.7 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.7 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb88

En el Editor PL/SQL escribir la sentencia:“HANDLE_MESSAGE( MESSAGE_CODE, FALSE );”Cerrar el Editor PL/SQL

2.8. Abra el módulo de formulario “CUSTG01”. Escriba un disparador

“ON-LOGON” para controlar el número de intentos de conexión. Use la función incorporada “LOGON_SCREEN” para simular la pantalla de acceso predefinida y acceda para conectarse a la Base de Datos. Puede importar el archivo “pr20_11.txt”.“ON-LOGON” a nivel de formulario

3535//4040

Page 36: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

DECLARE

connected BOOLEAN := FALSE;tries NUMBER := 3;un VARCHAR2(30);pw VARCHAR2(30);cs VARCHAR2(30);

BEGINSET_APPLICATION_PROPERTY( CURSOR_STYLE, 'DEFAULT');WHILE connected = FALSE AND tries > 0 LOOP

LOGON_SCREEN;un := GET_APPLICATION_PROPERTY( USERNAME );

pw := GET_APPLICATION_PROPERTY( PASSWORD );cs := GET_APPLICATION_PROPERTY( CONNECT_STRING );LOGON( un, pw || '@' || cs, FALSE );IF FORM_SUCCES THEN

connected := TRUE;END IF;tries := tries – 1;

END LOOP;IF NOT CONNECTED THEN

MESSAGE('Too many tries!');RAISE FORM_TRIGGER_FAILURE;

END IF;END;

3636//4040

Page 37: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

Respuesta 8:

2.8 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.8 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb11

En el Navegador de Objetos seleccionar el nodo “Triggers” correspondiente al formulario “CUSTOMERS” y click en “Create”

3737//4040

Page 38: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.8 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.8 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb22

Seleccionar el disparador “ON-LOGON” y click en [ OK ]

3838//4040

Page 39: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.8 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.8 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb33

En el Editor PL/SQL escribir las sentencias:“

DECLAREconnected BOOLEAN := FALSE;tries NUMBER := 3;un VARCHAR2(30);pw VARCHAR2(30);cs VARCHAR2(30);

BEGINSET_APPLICATION_PROPERTY( CURSOR_STYLE, 'DEFAULT');WHILE connected = FALSE AND tries > 0 LOOP

LOGON_SCREEN;un := GET_APPLICATION_PROPERTY( USERNAME );pw := GET_APPLICATION_PROPERTY( PASSWORD );cs := GET_APPLICATION_PROPERTY( CONNECT_STRING );LOGON( un, pw || '@' || cs, FALSE );IF FORM_SUCCES THEN

connected := TRUE;END IF;tries := tries – 1;

END LOOP;IF NOT CONNECTED THEN

MESSAGE('Too many tries!');RAISE FORM_TRIGGER_FAILURE;

END IF;END;

3939//4040

Page 40: SW-OrA-20110126 - Oracle Developer Build Forms 1 Respuestas a Practica Del Capitulo 20

Oracle Developer Build Forms 1 Oracle Developer Build Forms 1 Repuestas a Práctica del Capítulo 20Repuestas a Práctica del Capítulo 20

SW-ORA-20110126SW-ORA-20110126

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

2.8 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmb2.8 - “Oracle Forms Builder” - ORDG01.fmb y CUSTG01.fmbCerrar el Editor PL/SQLCerrar los módulos de formularioDesconectar de la Base de DatosSalir del Constructor de Formularios de Oracle

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 26/01/2011 Creación del documento.

4040//4040


Recommended