✒️ABAP / El evento AT SELECTION-SCREEN y los tipos de mensajes Por Felipe Arrona Rodriguez
ABAP El evento AT SELECTION-SCREEN y los tipos de mensajes
El evento AT SELECTION-SCREEN y los tipos de mensajes
1| Los tipos de mensajes
Una vez que ingresamos todos los parámetros de entrada en la pantalla de selección de nuestro reporte y lo ejecutamos, lo que vamos a querer es que dependiendo de los parámetros introducidos se produzcan determinadas acciones.
Con esto nos referimos a que el programa debe ser capaz de validar que los parámetros introducidos por el usuario en la pantalla de selección son correctos y en caso contrario se deberán emitirlos mensajes correspondientes de modo que el usuario corrija lo introducido.
En ABAP existen diferentes tipos de mensajes que podemos utilizar, Cada uno de ellos están pensando para una situación o casuística particular. Analicemos cada uno de estos.
- Mensajes de Éxito: Este tipo de mensaje se visualiza en la barra de estado o status de la pantalla. Luego de su ejecución el procesamiento del programa continúa. Tiene la particularidad que a la izquierda del texto del mensaje se muestra el icono verde con la tilde.
- Mensaje de Información: Este tipo de mensaje se mostrará en una ventana de diálogo en la pantalla. Si el programa se ejecuta de forma online entonces se pausará el procesamiento del programa hasta que el usuario interactúe con el programa. Luego de que se ejecuta un mensaje de este tipo el programa continúa su ejecución normalmente. Tienen la particularidad que a la izquierda del texto del mensaje se muestra el icono de información.
- Mensajes de Error: Este tipo de mensaje produce la terminación del procesamiento de la pantalla de selección. Los campos de la pantalla de selección especificados en el evento AT SELECTION-SCREEN permite la entrada de datos en donde el usuario del programa debe introducir un nuevo valor. Tienen la particularidad que a la izquierda del texto del mensaje se muestra el icono de rojo con el signo de exclamación.
- Mensajes de Warning o Advertencia: Este tipo de mensaje se muestra en la barra de estatus de la pantalla. Funciona de manera similar a los mensajes de error con la excepción que el usuario puede saltear este tipo de mensajes presionando la tecla enter. Tienen la particularidad que a la izquierda del texto del mensaje se muestra el icono de color rojo con el signo de exclamación.
- Mensajes de Terminación: Este tipo de mensajes se mostrará en una ventana de diálogo dentro de la pantalla y produce la terminación del programa. Tienen la particularidad que a la izquierda del texto del mensaje se muestra la imagen de stop.
- Mensajes Dump: Un dump es un error en tiempo de ejecución que interrumpe el procesamiento del programa en el momento en el que ocurre. Este tipo de mensajes no se utiliza intencionalmente en los programas ABAP sino que ocurre cuando se produce un error que no se contempló en la lógica del programa. El ejemplo más conocido que produce un dump es el de la división por cero, es decir si en algún lugar de la lógica de nuestro programa realizamos un cálculo matemático de división por cero entonces se produce un dump.
2| Las clases de mensajes
Las clases de mensajes se crean a través de la transacción estándar SE91.
Se utiliza para la creación, modificación y visualización de las clases de mensajes en SAP, las cuales nos permiten agrupar los mensajes que utilizaremos en una aplicación.
La clase de mensajes es un objeto ABAP separado del programa principal por lo tanto también debe activarse e incluirse dentro de los objetos ABAP que serán transportados al ambiente de testing, cuando la nueva transacción se desee probar en este ambiente o al ambiente de producción, cuando se quiera implementar la nueva transacción en productivo.
Luego en el código de nuestro programa, vamos a utilizar la sentencia MESSAGE para emitir mensajes. La sintaxis de la sentencia MESSAGE.
Ahora bien, veamos otra forma que tenemos para crear mensajes utilizando parámetros en los mensajes ya que dentro de los mensajes podemos mostrar el contenido de variables. Para ello vamos a crear el mensaje 001 cuyo contenido será & & & &.
Por último, otra opción que tenemos disponibles dentro de un mensaje definido en la clase de mensajes es utilizar parte texto y parte parámetros. Para ello creamos el mensaje 002.
3| El evento AT SELECTION-SCREEN
Tal como vimos en los ejemplos anteriores, para validar los datos introducidos en los parámetros, ya sean parameters o select-options vamos a utilizar el evento AT SELECTION-SCREEN.
La funcionalidad del evento AT SELECTION-SCRREN está especialmente pensada para la validación de los parámetros de la pantalla de selección, cuestión que no sucede con otros eventos de un programa ABAP. Si dentro del evento AT SELECTION-SCREEN se emite un mensaje de error entonces el procesamiento del programa no se cancela y el programa se queda esperando a que el usuario vuelva a introducir un valor para el parámetro de la pantalla de selección.
Desde ya vale la pena mencionar que tanto el evento AT SELECTION-SCREEN como las pantallas de selección de los programas ABAP junto con sus parámetros tienen únicamente sentido para los programas ABAP que se ejecutan en forma online, es decir donde hay interacción con el usuario. Supongamos ahora que la pantalla de selección de nuestro programa tienen varios parámetros de entrada, ya sean parameters o select-options y que para cada uno de ellos se desea validar lo introducido.
De modo que cuando se ingrese un valor incorrecto para un parámetro determinado de la pantalla entonces el usuario tenga la posibilidad de reingresar ese campo en particular y no todos, tal como sucedería si las validaciones se encuentran una debajo de la otra en el evento AT SELECTION-SCREEN.
Para cumplir con este objetivo vamos a tener que declarar un evento AT SELECTION-SCREEN ON para cada uno de los parámetros que deseamos validar.
 
 
 
Sobre el autor
Publicación académica de Felipe De Jesus Arrona Rodriguez, en su ámbito de estudios para el Curso SAP ABAP.
Felipe De Jesus Arrona Rodriguez
Profesión: Ingeniero Administrador de Sistemas - Mexico - Legajo: QV21N
✒️Autor de: 32 Publicaciones Académicas
🎓Egresado del módulo:
Presentación:
" ingeniero en sistemas, orientado a optimizar procesos y datos con sap, sql y power bi, buscando crecimiento profesional en entornos administrativos y tecnológicos. "
Certificación Académica de Felipe Arrona






Disponibilidad Laboral: FullTime


















