PDA

Ver la Versión Completa : Ayuda con mensaje de error en funcio Z


gaos
05/05/10, 20:47:09
:D Bueno el titulo lo dice, tengo que generar un mensaje de error, para la transaccion IW32, dar el mensaje y despues que permita modificar los datos que se necesitan, intento con algo asi "message e208(00) with v_text4" donde v_text4 es mi mensaje personalizado, da el mensaje pero al precionar enter y seguir con la transaccion me manda un dump, la pregunta es ¿Como debe ser la estructura del mensaje para que no marque el dump y me deje modificar?

Gracias a todos.

AlexisChavero
06/05/10, 12:37:01
Hola gaos,
Prueba con message s208(00) display like 'E' with v_text4.
Saludos,
Alexis

gaos
06/05/10, 16:02:28
Hola AlexisChavero

Lo que me dices me da el mensaje de error funciona mas o menos, no funciona como se requiere, ya no me da el dump y eso es excelente, lo que se busca es que no avance la transacción se que en el punto donde esta para poder modificar los datos. Algo asi como la MM02 que te pide el numero de material. Lo que pude encontrar es algo asi MESSAGE e208(00) WITH error RAISING not_found, no lo he podido hacer funcionar porque me pide que not_found sea la excepción, ¿Alguna idea de como hacerlo funcionar? :confused:

gaos
06/05/10, 16:27:55
Se me habia olvidado poner el dump xto breve

Err.tmpo.ejec. RAISE_EXCEPTION
Fecha y hora 06.05.2010 11:25:
Exception condition "NO_MASTER_SEQUENCE" raised.

AlexisChavero
06/05/10, 17:28:22
Hola Gaos,
Prueba con lo siguiente.

CLASS error DEFINITION.
PUBLIC SECTION.
CLASS-METHODS msg EXCEPTIONS not_found.
ENDCLASS.

CLASS error IMPLEMENTATION.
METHOD msg.
MESSAGE e208(00) WITH 'texto' RAISING not_found.
ENDMETHOD.
ENDCLASS.
...
error=>msg( ).
error=>msg( EXCEPTIONS not_found = 4 ).
IF sy-subrc = 4.
...
ENDIF.

De esa manera puedes manerjar la excepcion. Sinseramente nunca lo utilice.
Otra cosa que se me ocurre, es que dentro de la solapa EXCEPCION de tu Funcion Z coloques el NOT_FOUND.
Espero te sirva.
Saludos,
Alexis.

gaos
10/05/10, 20:31:49
¿Como estas AlexisChavero?

La ultima opcion que me pasaste, y la verdad muchas gracias, vi que no acepta programacion orientada a objetos las funciones, al menos no dentro de la funcion ni agrgando la exception, aun no la pruebo agregandole un perform, lo que si es que ya me ayuda mucho como esta ahoria, mandando el mensaje de error al final, de antemano muchas gracias por la ayuda

Saludos desde Durango, Dgo, México