✒️ABAP El evento AT SELECTION-SCREEN y los tipos de mensajes
ABAP El evento AT SELECTION-SCREEN y los tipos de mensajes
El evento AT SELECTION-SCREEN y los tipos de mensajes
1 El evento AT SELECTION-SCREEN y los tipos de mensajes
Vemos un video donde se trata el evento AT SELECTION-SCREEN para el análisis de los mensajes y errores que se generan a partir de lo introducido por el usuario en la pantalla de selección del programa.
Por otro lado, veremos cada uno de los tipos de mensajes existentes y los efectos que producen en la pantalla, que van desde la interacción con el usuario, la cancelación del programa o transacción, el bloqueo de la pantalla o la simple aparición de un mensaje en la barra de estado del modo de SAP.
En primer lugar ingresamos los datos en la pantalla de selección del reporte para poder ejecutarlo (fecha, nombre, clave del país)
En el campo de comando escribimos /h para poder debugear paso a paso el programa.
Ejecutamos y vemos que el primer evento que se ejecuta es AT SELECTION-SCREEN. La primera validación que vemos se refiere a que la fecha ingresada por la pantalla tiene que ser mayor o igual que la fecha actual, en caso contrario escribimos un mensaje de error y terminamos el procesamiento.
if pfecha < sy-datum.
MESSAGE e000(zprueba).
endif.
Si pulsamos F8 termina la ejecución del programa.
Ahora vamos a modificar el programa para poder agregar validaciones adicionales. Editamos el programa y escribimos las nuevas validaciones en la pantalla de selección, dentro del evento AT SELECTION-SCREEN del programa.
Agregamos una validación para que el nombre no contenga números:
if pnombre ca '0123456789'.
MESSAGE e001(zprueba).
endif.
Añadimos otra validación para que la clave de país solo pueda ser EUR:
if NOT s_clavep_low IS INITIAL AND s_clavep_low NE 'EUR'.
MESSAGE e002(zprueba).
endif.
if NOT s_clavep_high IS INITIAL AND s_clavep_high NE 'EUR'.
MESSAGE e002(zprueba).
endif.
Activamos el programa y ejecutamos. Las nuevas validaciones informan otros mensajes en el caso de que no se satisfagan las validaciones añadidas.
Ahora veremos los diferentes tipos de mensajes que podemos utilizar.
Con el tipo de mensaje "e" de error, se produce un mensaje error que corta la ejecución del programa.
Con el tipo de mensaje "s" de status, se produce un mensaje en la parte inferior en la pantalla con el icono verde que permite continuar el procesamiento del programa.
Con el tipo de mensaje "w" de warning, se produce un mensaje en la parte inferior en la pantalla con el icono amarillo y no se permite continuar el procesamiento del programa.
Con el tipo de mensaje "i" de información, se muestra una ventana de diálogo en el centro de la pantalla con el mensaje correspondiente, permitiendo continuar con el procesamiento si se pulsa sobre el botón "continuar".
Audio: La particularidad que presentan los mensajes de error, es que si el mensaje se ejecuta dentro del evento START-OF-SELECTION, la ejecución produce lo que en ABAP se conoce como DUMP, es decir se interrumpe el procesamiento actual del programa, se visualiza en la parte inferior de la pantalla el mensaje con el símbolo rojo característico, y además impide totalmente la interacción del usuario con el programa, debiendo el usuario volver a ejecutar el programa. Esto lo podemos verificar fácilmente ejecutando un mensaje de error dentro del evento START-OF-SELECTION de un programa y viendo la consecuencia.
Existe una forma de evitar que se cancele la interacción del usuario con el programa, y se realiza mediante la clausula DISPLAY LIKE. Esta cláusula se agrega al final de los mensajes seguida del tipo del mensaje. De esta forma estremos ejecutando un mensaje de status que se visualiza con la apariencia de un mensaje de error, entonces declararemos un mensaje de status tipo "s" y al final del mensaje, dentro de la declaración del mensaje agregaremos DISPLAY LIKE, y entre comillas la letra "E":
SPAN { font-family: "Courier New"; color: #000000; background: #FFFFFF; } .L0S33 { color: #4DA619; } .L0S52 { color: #0000FF; } .L0S55 { color: #800080; } MESSAGE s000(z_prueba) DISPLAY LIKE 'E'.
 
 
 
2 Agradecimientos:
Han agradecido este aporte: Kelly Nino Ramirez, Lorena Amoretti
Favorito:
Está publicación ha sido agregada a sus favoritos por: Lorena Amoretti
Sobre el autor
Publicación académica de José Antonio Saavedra Rodríguez, en su ámbito de estudios para la Carrera Consultor ABAP.
José Antonio Saavedra Rodríguez
El Salvador - Legajo: SX28V
✒️Autor de: 166 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor en SAP SD Nivel Inicial