✒️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. Los tipos de mensajes
Se pueden realizar determinadas acciones con los parámetros de entrada en la pantalla de selección, con esto nos referimos a que el programa debe ser capaz de validar que los parámetros introducidos son correctos y en caso contrario deberá emitir el mensaje correspondiente.
En ABAP existen diferentes mensajes que podemos utilizar, son los siguientes:
- Mensaje de Éxito: El mensaje de éxito de tipo S, se muestra en la barra de estado o status de la pantalla. Aparece un icono verde con la tilde.
- Mensaje de Información: El mensaje de información de tipo I, muestra una ventana de diálogo en la pantalla. Tiene la particularidad que a la izquierda del texto del mensaje se muestra el icono de información.
- Mensaje de Error: El mensaje de error de tipo E, produce la terminación del procesamiento de la pantalla de selección. Tienen la particularidad que a la izquierda del texto del mensaje se muestra el icono de color rojo con el signo de exclamación.
- Mensaje de Warning o Advertencia: El mensaje de Warning o Advertencia de tipo W, se muestra en la barra de status o de la pantalla. Funciona similar al mensaje de error con la excepción que el usuario puede saltear este tipo de mensajes presionando la tecla enter. Tiene la particularidad que a la izquierda del texto del mensaje se muestra el icono de color rojo con el signo de exclamación.
- Mensaje de Terminación: El mensaje de Terminación de tipo A, se mostrará en una ventana de diálogo dentro de la pantalla y produce la terminación del programa. Tiene la particularidad que a la izquierda del texto del mensaje se muestra la imagen de stop.
- Mensaje Dump: El mensaje Dump de tipo X, 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.
2. Las clases de mensajes
Para poder trabajar con mensajes en los programas ABAP necesitamos primeramente crear una clase de mensaje.
Una clase de mensaje es un objeto de ABAP que se utiliza para almacenar todos los mensajes relativos a un proyecto o transacción de SAP, se crean a través de la transacción SE91.
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 de ABAP que serán transportados a los demás ambientes.
Se utiliza la sentencia MESSAGE para emitir mensajes, la sintaxis es la siguiente: MESSAGE e001(ZCLASE_MENSAJE) WITH <parámetro1> <parámetro2>..... <parámetroN>
La e del e001 es el tipo de mensaje, el 001 es el número del mensaje y lo que hay entre paréntesis (ZCLASE_MENSAJE) es la clase de mensaje que hemos creado, luego después del WITH tenemos distintos parámetros que podemos poner que son opcionales.
En la clase de mensajes no solamente podemos escribir "texto plano" sino que también podemos crear mensajes utilizando parámetros en los mensajes, ya que entro de los mensajes podemos mostrar el contenido de variables. Para cuando se crea un nuevo mensaje el contenido será "& & & &" (sin las comillas).
Por último, otra opción que tenemos disponible dentro de un mensaje definido en la clase de mensajes es utilizar parte de texto y parte de parámetros. Un ejemplo seria "La fecha debe ser mayor o igual a la fecha &" (sin comillas).
3. El evento AT SELECTION-SCREEN
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 de este evento está pensada para validar 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.
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.
 
 
 
Agradecimiento:
Ha agradecido este aporte: Jaime Gomez Arango
Sobre el autor
Publicación académica de Manel Gangolells Isanta, en su ámbito de estudios para la Carrera Consultor ABAP.
Manel Gangolells Isanta
Profesión: Técnico de Sistemas Informáticos - España - Legajo: MN13W
✒️Autor de: 33 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Inicial
Certificación Académica de Manel Gangolells