¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo mostrar un mensaje de error en color rojo en la barra de estado al usar el tipo de mensaje E

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 34 Vistas
0
Cargando...

Estoy usando el tipo de mensaje E. Para eso debería obtener un mensaje de error en color rojo en la barra de estado.

Pero no estoy obteniendo eso. Para mí se genera un mensaje de información con un símbolo de detención y el programa se detiene.

Quiero mostrar un mensaje de error en la barra de estado.

Estoy escribiendo el mensaje en el manejo de excepciones.

Es decir, después de la ejecución de la FM, estoy verificando el sy-subrc. Si sy-subrc es uno de los números de excepción en la FM, quiero escribir el mensaje de error en color rojo.

¿Puede alguien resolver este problema?

Gracias de antemano.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola

Después de verificar las excepciones, comprueba el SY-SUBRC:

IF SY-SUBRC > 0.
  MESSAGE EXXX(YY) WITH <TEXT>.
ENDIF.

Max

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola,

Debería ser así

when '5'.
MESSAGE e300(301) WITH 'TOO MANY DECIMALS'.
endcase.

Espero que esto resuelva tu problema.

Otorga puntos de recompensa y cierra el hilo si esto resuelve, de lo contrario, vuelve con preguntas.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Este es mi código.

Si el decimal es mayor que el número de caracteres quiero mostrar un mensaje de error.

Comprueba sy-subrc = 5 para eso. Pero estoy recibiendo un mensaje emergente y el programa se detiene.

llamar a la función 'CTCV_GENERATE_PATTERN'

exportación

charact_format = atributo

  • USER_NEUTRAL = X

importación

patrón = grid_str_header-template

nuevo_formato = atributo

excepciones

  • INVALID_FORMAT = 1

  • LENGTH_MISSING = 2

  • TOO_LITTLE_PLACES = 3

too_many_places = 4

too_many_decimals = 5

  • NO_EXP_FOR_CURR = 6

  • TOO_SHORT = 7

.

caso sy-subrc.

cuando '4'.

si grid_str_header-data_type = 'CHAR'.

  • SI GRID_STR_HEADER-NO_OF_CHAR > 30.

grid_str_header-no_of_char = 30.

mensaje s109(109) con 'MÁXIMO DE 30 CARACTERES PERMITIDOS SOLAMENTE'.

else.

grid_str_header-no_of_char = 15.

mensaje s109(109) con 'MÁXIMO DE 15 CARACTERES PERMITIDOS SOLAMENTE'.

endif.

cuando '5'.

  • MENSAJE W300(301) CON 'DEMASIADOS DECIMALES'.

mensaje 'ERROR' tipo 'E' .

fincaso.

¿Alguien puede resolver este problema?

Gracias de antemano

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Depende del modo del programa que estás utilizando.

Saludos

Prabhu

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?