✒️ABAP El evento AT SELECTION-SCREEN y los tipos de mensajes
ABAP El evento AT SELECTION-SCREEN y los tipos de mensajes
Evento AT SELECTION-SCREEN y los tipos de mensajes
En la pantalla de seleccion de nuestro reporte completamos los datos de entrada y luego en el campo de comandos tipeamos /h para debuggear paso a paso nuestro programa.
Ejecutamos y vemos que el primer evento que se ejecuta es el AT SELECTION-SCREEN.
La primer validacion es que la fecha deber ser mayor o igual a la actual, caso contrario emitimos un mensaje de error y terminamos el procesamiento.
Luego vamos a modificar el programa para poder agregar unas validaciones mas en la pantalla de seleccion, agregamos una validacion para que el nombre no contenga numeros:
IF p_nombre ca '0123456789'.
MESSAGE e001 (z_prueba). "El nombre no debe contener numeros
ENDIF.
Agregamos otra validacion para que la clave de pais solo pueda ser EUR:
IF NOT s_clavep-low IS INITIAL AND s_clavep-low NE 'EUR'.
MESSAGE e002 (z_prueba). "La clave de pais debe ser EUR
ENDIF.
IF NOT s_clavep-high IS INITIAL AND s_clavep-low NE 'EUR'.
MESSAGE e002 (z_prueba). "La clave de pais debe ser EUR
ENDIF.
Activamos el programa y al ejecutarlo con datos diferentes a los que corresponden, veremos los mensajes de error en pantalla.
Estos mensajes los programamos con el tipo e de error, si los programamos con el tipo s de status, el mensaje lo vemos en la parte inferior de la pantalla con el icono verde y permite continuar con el procesamiento del programa.
Con el mensaje de tipo w de warning visualizamos el mensaje en la parte inferior de la pantalla con el icono amarillo y no permite continuar con el procesamiento.
Si usamos el tipo de mensaje i de informacion, al ejecuar vemos el mensaje en una pantalla de dialogo en el centro de la pantalla y nos permite continuar el procesamiento presionando el boton continuar.
La particularidad que presentan los mensajes de error es que si el mensaje se ejecuta dentro del evento START OF SELECTION la ejecucion produce lo que en ABAP se conoce como DUMP, es decir que se interrumpe el procesamiento actual del programa, se visualiza en la barra inferior de la pantalla el texto del mensaje con el simbolo rojo, e impide totalmente la interaccion del usuario con el programa, haciendo que tenga que volver a ejecutarlo. Esto lo podemos verificar facilmente ejecutando un mensaje de error dentro del evento START OF SELECTION de un programa y viendo las consecuencias.
Cláusula DISPLAY LIKE
Hay una forma de evitar que se cancele la interaccion del usuario con el programa y se realiza mediante la clausula DISPLAY LIKE. Esta clausula se agrega el final de los mensajes seguida del tipo de mensaje, de esta forma estaremos 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 mismo, dentro de la declaracion del mensaje agregaremos DISPLAY LIKE y entre comillas la letra e.
 
 
 
Sobre el autor
Publicación académica de Diamela Serignese, en su ámbito de estudios para la Carrera Consultor ABAP.
Diamela Serignese
Profesión: Consultor Sap Crm / Solman - Argentina - Legajo: AA51D
✒️Autor de: 38 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Inicial
Certificación Académica de Diamela Serignese