MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Volver al mismo programa??? (foro/showthread.php?t=7963)

tate 26/09/07 14:47:24

Volver al mismo programa???
 
Buenas amigos tengo un problemilla, aber si me ayudais.

Tengo un report, que tiene una pantalla de seleccion con SELECTION-SCREEN , entonces despues de eso, hace una select, y si toda va bien, sigue el programa, pero si falla, hace esto:

IF sy-subrc <> 0.
MESSAGE e398(00) WITH text-001.
ENDIF.

Lo que necesito esque si entra en ese if, saque el mensaje de error, pero vuelva a la pantalla de selecion.
He probado poniendo el submit y no hace nada, ya que saca el mensaje de error y se keda la pantalla en azul y solo deja darle a "esc", asi q ue no se, aber si alguien me puede ayudar.

ppchico 26/09/07 14:56:55

Hola:

Si lo que quieres, es que salga erl mensaje de error, sin dejar el programa bloqueado, lo que puedes hacer es lanzarlo como un mensaje de estatus, pero con el formato de Error, es decir:

message sxxx(Clase_mensaje) display like 'E'.

Con eso te debería ir bien.

Espero que te valga.

Un saludo.

Mauricio Hidalgo 26/09/07 15:02:53

Y no te sirve poner esa validación en el evento AT SELECTION-SCREEN ?.

Ddscerezo 26/09/07 15:33:25

Set Screen 0
 
Quizá lo que quieres es volver a la dynpro de la que partes (SELECT-OPTION).
Si es así usa:

SET SCREEN 0.

Ya me contarás.

sugerencia: prueba a ponerlo justo antes del mensaje de error.

melerogalan 26/09/07 16:40:15


Gracias por lo del display, no lo sabía y me viene de lujo para unas cosillas y no joder el flujo del programa, gracias colega. :o

ppchico 27/09/07 07:33:25

Me alegra saber, que a alguien le ha venido bien... La verdad es que este foro nos ayuda mucho en la ardua tarea diaria del trato con nuestro particular lenguaje ABAP IV. Muchas gracias a todos los que hacéis posible que cada día saquemos proyectos a delante difíciles de sacar.

Un saludo a todos.

tate 27/09/07 07:38:19

buenas, priemro muchas gracias por las contestaciones, pero os cuento:

E puesto MESSAGE s398(00) WITH text-001 DISPLAY LIKE 'e'.
y al verificar me sale:

*****Field "DISPLAY" is unknown. It is neither in one of the specified
tables nor defined by a "DATA" statement.*****

Y tmb e probado el stop y nada, saca el mensaje de error, y ya no me deja acer nada, solo al escape y ya esta.

melerogalan 27/09/07 07:40:36


La instruccion es asi:
MESSAGE s398(00) DISPLAY LIKE 'E' WITH text-001.

Asi me funciona a mi, espero que a ti tambien, por cierto, intenta poner siempre entre comillas, los caracteres en mayúsculas, evitaras errores absurdos. :p
Por cierto el error qeu te da es que cuando pones la instrucción 'WITH' las palabras que le sigue los considera nombres de variables si van sin comillas y si va con comillas lo considera literales , ambos para mostrar en el mensaje, asi que 'WITH' tiene que ser lo ultimo. Por eso el error te dice que el campo 'DISPLAY' no esta declarado, porque lo considera como si fuera una variable.
Si quieres alguna otra aclaración, aqui estoy.

ppchico 27/09/07 07:49:31

Efectivamente meloregalan lleva razón, el error es por motivos sintácticos de la Instrucción MESSAGE, Me olvide de ponerte la instrucción exacta, ya que no vi que querías incluirle un parámetro al mensaje.

Prueba con el formato que ha puesto meloregalan, y debería de funcionar correctamente.

Un saludo.

melerogalan 27/09/07 07:52:35


meloregalan ?? !! :mad: ......... melerogalan

jeje, es broma. Saludos


Husos Horarios son GMT. La hora en este momento es 23:23:59.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web