✒️ABAP / El evento AT SELECTION-SCREEN y los tipos de mensajes Por Jaime Gomez Arango

ABAP El evento AT SELECTION-SCREEN y los tipos de mensajes

ABAP El evento AT SELECTION-SCREEN y los tipos de mensajes

Message Types

Messages in ABAP can be pop-ups appearing in the GUI or displayed at the bottom, informing the user about entered data. They can be of the following types:

  • S: Success - green checkmark icon
  • I: Information - on-screen dialog window; program execution continues after closure
  • E: Error - terminates selection screen processing
  • W: Warning - similar to error message but user can skip using the enter key
  • A: Termination - displayed in a dialog window and ends the program
  • X: Dump or runtime error - interrupts the program at the occurrence moment due to incomplete program logic

IF v_input_value = v_expected_value.
MESSAGE s001(ZMESSAGE_CLASS) WITH 'Validation successful'.

ENDIF

Message Classes

To work with messages in ABAP programs, we first need to create a message class. A message class is an ABAP object used to store all messages related to a SAP project or transaction, created through transaction SE91. Messages have a code, are created separately from the main program, need activation, and inclusion in objects. In the code, the MESSAGE statement is used as follows:

MESSAGE e001(ZMESSAGE_CLASS) WITH 'Parameter1' 'Parameter2' ... 'ParameterN'.

The 'e' in 'e001' denotes the message type, '001' is the message number, and what's in parentheses (ZMESSAGE_CLASS) is the message class. Subsequently, different optional parameters follow the WITH keyword.

IF v_input_value < v_expected_value.
MESSAGE e001(ZMESSAGE_CLASS) WITH 'Date must be greater or equal to the current date'.
ENDIF

Messages with variable content can be created using '&' symbols. Each '&' can hold up to 50 characters, and messages can have a maximum of 4 variables. To use '&' as text, write '&&'. Each message class can store up to 999 messages.

IF v_input_value < v_expected_value.
MESSAGE e001(ZTEST_CLASS) WITH 'Date must be greater or equal to the date &', sy-datum.
ENDIF

AT SELECTION-SCREEN Event

To validate input parameters, we use the AT SELECTION-SCREEN event. If an error message is issued within this event, the program waits for the user to re-enter a value for the selection screen parameter. To prevent the program from restarting on error, declare an AT SELECTION-SCREEN ON event for each parameter to be validated.

PARAMETERS: p_input_date LIKE sy-datum,
p_name(10) TYPE c.

AT SELECTION-SCREEN ON p_input_date.
IF NOT p_input_date IS INITIAL AND p_input_date < sy-datum.
MESSAGE e001(ZTEST_CLASS) WITH 'Entered date is earlier than today'.
ENDIF.

AT SELECTION-SCREEN ON p_name.
IF NOT p_name IS INITIAL AND p_name CA '012345678'.
MESSAGE e001(ZTEST_CLASS) WITH 'Name cannot contain numbers'.
ENDIF.

If an error occurs in a START-OF-SELECTION event, a DUMP will occur, preventing further interaction with the program. To avoid this, use the DISPLAY LIKE clause at the end of messages, followed by the message type.

IF v_error_condition.
MESSAGE e001(ZTEST_CLASS) WITH 'Error occurred' DISPLAY LIKE 'E'.
ENDIF

E.g.

*&---------------------------------------------------------------------*
*& Report ZTEST_ABAP_JEGA_7
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ztest_abap_jega_7.

*---------------------------------------------------------------------*
* Declaración de variables
*---------------------------------------------------------------------*
DATA: v_flag(1) TYPE c,
v_nombre(10) TYPE c.

*---------------------------------------------------------------------*
* Pantalla de selección
*---------------------------------------------------------------------*

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(66) TEXT-002.
PARAMETERS p_fecha LIKE sy-datum OBLIGATORY DEFAULT sy-datum.
SELECTION-SCREEN END OF LINE.

PARAMETERS p_nombre TYPE string.

SELECTION-SCREEN END OF BLOCK b1.

*---------------------------------------------------------------------*
INITIALIZATION.
*---------------------------------------------------------------------*

CLEAR v_flag.

*---------------------------------------------------------------------*
AT SELECTION-SCREEN OUTPUT.
*---------------------------------------------------------------------*

IF p_fecha <= sy-datum.
v_flag = 'X'.

LOOP AT SCREEN.
IF screen-name EQ 'P_NOMBRE' OR screen-name EQ '%_P_NOMBRE_%_APP_%-TEXT'.
" El parámetro Nombre no se visualiza
screen-input = '0'.
screen-active = '0'.
screen-invisible = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.


*---------------------------------------------------------------------*
AT SELECTION-SCREEN.
*---------------------------------------------------------------------*

IF p_fecha < sy-datum.
MESSAGE s003(z_prueba) WITH 'La Fecha debe ser mayor o igual a la fecha actual' DISPLAY LIKE 'E'.
ENDIF.


*---------------------------------------------------------------------*
START-OF-SELECTION.
*---------------------------------------------------------------------*

IF v_flag IS INITIAL.
WRITE:/(10) 'Nombre', p_nombre.
ENDIF.

WRITE:/(10) 'Fecha:', p_fecha.


 

 

 


Sobre el autor

Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para el Curso ABAP.

SAP Expert


Jaime Eduardo Gomez Arango

Profesión: Ingeniero de Sistemas y Computación - España - Legajo: SW34C

✒️Autor de: 149 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Ingeniero de sistemas y computación con 8 años de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.

Certificación Académica de Jaime Gomez

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "El evento AT SELECTION-SCREEN y los tipos de mensajes" de la mano de nuestros alumnos.

SAP Expert


1. El Evento AT SELECTION-SCREEN Este evento es fundamental para la interacción en reportes que poseen pantalla de selección. Objetivo: Su función principal es validar los datos introducidos por el usuario en los parámetros (PARAMETERS o SELECT-OPTIONS) antes de que comience el procesamiento principal del programa,. Comportamiento: Si dentro de este evento se emite un mensaje de tipo Error (E), el procesamiento del programa se detiene y no continúa hacia el evento START-OF-SELECTION. El sistema se queda en la pantalla de selección esperando que el usuario corrija el valor ingresado,. Validación de campo específico: Para evitar que se bloqueen todos los campos de la pantalla...

Acceder a esta publicación

Creado y Compartido por: Gabriel José Luces González

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

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...

Acceder a esta publicación

Creado y Compartido por: Felipe De Jesus Arrona Rodriguez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master


El evento AT SELECTION-SCREEN y los tipos de mensajes Tipos de mensajes en ABAP Existen diversos tipos de mensajes: S (éxito), I (información), E (error), W (warning/advertencia), A (terminación), X (dump o error en tiempo de ejecución). Los mensajes tipo S aparecen en la barra de estado con un ícono verde; el programa continúa tras mostrarlos. Los mensajes tipo I se presentan en una ventana de diálogo; el usuario debe interactuar y luego continúa el programa. Los mensajes tipo E detienen el procesamiento en la pantalla de selección y muestran un ícono rojo con exclamación. Los mensajes tipo W (advertencia) se muestran en la barra de estado, con la posibilidad de ser...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

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 emitir los mensajes correspondientes de modo que el usuario corrija lo introducido. Por ejemplo, imaginemos que nuestro reporte tiene en su pantalla de selección el parámetro fecha y deseamos que la fecha sea mayor o igual a la fecha actual y que...

Acceder a esta publicación

Creado y Compartido por: Mara Fadua Romero Hernandez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

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 emitir los mensajes correspondientes de modo que el usuario corrija lo introducido. Por ejemplo, imaginemos que nuestro repone tiene en su pantalla de selección el parámetro fecna y deseamos que la fecha...

Acceder a esta publicación

Creado y Compartido por: Gustavo Jose Rondon Hernandez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert



¿Qué es el evento AT SELECTION-SCREEN? El evento AT SELECTION-SCREEN es un evento especial en ABAP que se ejecuta cada vez que el usuario interactúa con la pantalla de selección, particularmente cuando hace "ENTER", cambia un valor o realiza alguna acción que implica validar o reaccionar ante la entrada del usuario. Este evento es parte del ciclo estándar de procesamiento de una selección, y se puede usar para implementar: Validaciones de campos de selección. Control de dependencias entre campos. Reacciones ante cambios en la selección. Implementación de lógicas adicionales que no están soportadas...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

1. Tipos de Mensajes ABAP Tipo Icono Comportamiento Uso típico S (Éxito) Muestra en barra de estado. Continúa ejecución. Confirmación de acciones exitosas. I (Información) Ventana emergente. Pausa ejecución hasta confirmación. Notificaciones no críticas. E (Error) Bloquea pantalla de selección. Requiere corrección. Validación de parámetros incorrectos....

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


El evento AT SELECTION-SCREEN y los tipos de mensaje 1 Los tipos de mensajes Son fundamentales para la comunicación con el usuario durante la ejecución de los programas. Existen distintos tipos de mensajes, cada uno con un propósito específico: Mensaje de Éxito (S): Se muestra en la barra de estado. El programa continúa su ejecución normalmente. Se identifica con un ícono verde con una tilde. Mensaje de Información (I): Aparece en una ventana emergente. Detiene momentáneamente el programa hasta que el usuario interactúa....

Acceder a esta publicación

Creado y Compartido por: Geovanny Martínez Campoverde

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

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. En ABAP existen diferentes tipos de mensajes que podemos utilizar. Cada uno de ellos está pensado para una situación o casuítica particular. Los tipos de mensajes existentes son los siguientes: * S - Éxito: Este tipo de mensaje se visualiza en la barra de estado o estatus de la pantalla. Luego de su ejecución el procesamiento del programa continúa. Tienen la particularidad que...

Acceder a esta publicación

Creado y Compartido por: Yeny Gisela Yanes Bautista

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

• Tipos de mensajes Validar que los parámetros introducidos por el usuario en la pantalla de selección son correctos y en caso contrario se deberán emitir los 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á pensado para una situación o casuística particular. Tipo de Mensaje Significado del mensaje S Éxito I Información E Error W Warning o Advertencia A Terminación X ...

Acceder a esta publicación

Creado y Compartido por: Mauricio Ezequiel Yedro

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!