Power Builder - Evitar Error

 
Vista:

Evitar Error

Publicado por Jery (30 intervenciones) el 14/09/2005 01:21:49
Hola amigos powerbuilder.. tengo una consulta :

Como puedo evitar los errores del sistema... y en vez q salgan ellos salga el mensaje q yo desee ejemplo : yo tengo q guardar los datos un datawindow y hago el sgte script :

if dw_1.Update <> 1 Then
Rollback;
else
Commit;
end if

Pero mi problema es q cuando no lleno ningun dato al dw en el momento de ejecucion y aprimo el boton guardar me PB me arroja un error y yo no deseo q salga ese sino un mensaje q diga q el usuario tiene q digitar y asi evitar ese mensaje de error de pb como lo hago gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Mensaje personalizado de Error

Publicado por Oscar (1178 intervenciones) el 14/09/2005 06:02:10
Tal cual planteas en tu script para guardar, no sale error. Quizá te refieras a que PB te arroja un error por defecto, cuando por ejemplo no se digita nada en un campo que no puede ser nulo o es obligatorio. Si es asi, entonces debes colocar el siguiente script en el evento ItemError del objeto DW.

Ejemplo:

if dwo.name = "nombre_campo" and (data = "" or IsNull (data)) then
//Mostrar tu propio mensaje
MessageBox('Aviso', 'El valor del campo no puede ser nulo', StopSign!)
// Ocultar el mensaje de error por defecto
return 1
else
// Mostrar el mensaje de error por defecto
return 0
End if
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Mensaje personalizado de Error

Publicado por Milson Cardona (613 intervenciones) el 03/03/2006 20:58:18
Un saludo especial desde COLOMBIA

bueno amigo, si lo que quieres es personalizar los errores en tiempo de ejecución, esos que power especifica un poco complejo para el usuario y que cierra la aplicación sin dar tiempo a nada, pues solo debes utilizar lo siguiente

el objeto APLICATION de tu aplicación tiene un evento SYSTEMERROR. dicho evento se dispara inmediatamente sucede un error en tiempo de ejecución, entonces allí puedes colocar cualquier código que desees antes de que power cierre la aplicacion.

por ejemplo yo tengo.

ROLLBACK USING vble_transaccion; // para evitar datos inconsistentes.
DISCONNECT USING vble_transaccion; //para quitar la conexion con la DB y que no me quede viva gastando recursos del servidor

luego abro una ventana donde muestro un la información mas detallada y personalizada del error... todos los datos del error los tomo del objeto ERROR que por defecto lo crea PB cuando sucede un error (puedes ver la ayuda de power builder).

y por último cierro la aplicación de manera controlada con
HALT CLOSE()

espero que sea una respuesta válida a tu pregunta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Mensaje personalizado de Error

Publicado por Milson Cardona (613 intervenciones) el 03/03/2006 20:59:52
Un saludo especial desde COLOMBIA

bueno amigo, si lo que quieres es personalizar los errores en tiempo de ejecución, esos que power especifica un poco complejo para el usuario y que cierra la aplicación sin dar tiempo a nada, pues solo debes utilizar lo siguiente

el objeto APLICATION de tu aplicación tiene un evento SYSTEMERROR. dicho evento se dispara inmediatamente sucede un error en tiempo de ejecución, entonces allí puedes colocar cualquier código que desees antes de que power cierre la aplicacion.

por ejemplo yo tengo.

ROLLBACK USING vble_transaccion; // para evitar datos inconsistentes.
DISCONNECT USING vble_transaccion; //para quitar la conexion con la DB y que no me quede viva gastando recursos del servidor

luego abro una ventana donde muestro un la información mas detallada y personalizada del error... todos los datos del error los tomo del objeto ERROR que por defecto lo crea PB cuando sucede un error (puedes ver la ayuda de power builder).

y por último cierro la aplicación de manera controlada con
HALT CLOSE()

espero que sea una respuesta válida a tu pregunta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar