🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

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

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 la Carrera Consultor ABAP.

SAP Master

Jaime Eduardo Gomez Arango

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

✒️Autor de: 99 Publicaciones Académicas

🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado

🎓Egresado del módulo:

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 Master

El Evento AT SELECTION-SCREEN y los tipos de mensajes Utilizaremos el evento AT SELECTION-SCREEN pata el analisis de los mensajes y errores que se generan a partir de lo introducido por el usuario en la pantalla de seleccion del programa.

Acceder a esta publicación

Creado y Compartido por: Juan Fernando Guerra Mata / Disponibilidad Laboral: FullTime

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

SAP SemiSenior

Resumen Lección: El evento AT SELECTION-SCREEN y los tipos de mensajes. El evento AT SELECTION-SCREEN se utiliza 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 lo tanto si no se coloca en esta sección puede ocurrir un Dump y detener el correcto funcionamiento del sistema.

Acceder a esta publicación

Creado y Compartido por: Alexander José Tovar Rodríguez

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

SAP Senior

El evento AT SELECTION-SCREEN y los tipos de mensajes El evento AT SELECTION-SCREEN se utiliza para analizar los mensajes y errores que se generan a partir de lo introducido por el usuario en la pantalla de selección del programa. Existen diversos tipos de mensajes, que van desde los que interactúan 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.

Acceder a esta publicación

Creado y Compartido por: Pedro Alejandro Arroyo Gutierrez

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

SAP Senior

Los mensajes se crean en la transaccion se91 se utiliza un & para agregar variables y puede ser de 50 caracteres y solo puede haber hasta 4 variables EVENTO AT-SELECTION-SCREEN es utilizada para validacion de parametros Si hay mas de un parametro que se desea validar se debe de utilizar 1 Evento de AT-SELECTION-SCREEN por parametros, solo se debe de agrega la palabra ON al final MESAGE e000(clase) WITH 'es un mensaje'. donde E es de error, S de exito, I de informacion W de warning, A de terminacion y X es de dump AT-SELECTION-SCREEN ON variable Si la valdiacion se pone en el evento START-OF-SELECTION, si se muestra el mesnajes pero el sistema continua, en cambio en AT-SELECTION-SCREEN el probelma se detiene.

Acceder a esta publicación

Creado y Compartido por: Jesus Caldera

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

SAP Senior

El evento AT SELECTION-SCREEN y los tipos de mensajes /h para entrar en modo debug. At-selection-Screen es el primer evento que se ejecuta luego de ingresado los parametros. Mensajes de error si se ejecutan dentro de start-of-selection se ejecuta como DUMP es decir si interrumpe el proceso si visualiza en la barra inferior el texto del mensaje pero impide la interaccion del usuario con el programa. para evitar esto se pone la clausula display like. Display like para que se vea como mensaje de error

Acceder a esta publicación

Creado y Compartido por: Silvia Marina Carrizo

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

SAP Senior

Evento AT SELECTION-SCREEN y Tipos de mensajes. *En el campo de comandos /h habilita el debug En un reporte ingresar los datos requeridos, en modo debugger verémos que el primer evento que se ejecuta es AT SELECTION-SCREEN La validación indicada sobre fecha menor a hoy nos informará con un mensaje e000(z_prueba) que el valor ingresado no es correcto. Se pueden agregar todas las validaciones deseadas pero siempre dentro de este evento. Tipos de mensaje. S=Status - No hay interrupción E=Error I=Information - Continúa despues de la interrupción W=Warning E=Error A=Terminación X=Dump

Acceder a esta publicación

Creado y Compartido por: Armando Mayo Marquez / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Senior

El evento AT SELECTION-SCREEN: Es un evento que nos permite controlar y validar los parámetros introducidos, se basa en los diferentes tipos de mensajes previamente definidos en las clases de mensajes, estos mensajes pueden ser de diferentes tipos tales como: E (Error) I (Informacion) W (Warning) S (Status) A (Terminación) X (Dump)

Acceder a esta publicación

Creado y Compartido por: Andrés Mauricio Moreno Garzón

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

SAP SemiSenior

Video - El evento AT SELECTION-SCREEN y los tipos de mensajes. Unidad 2 - Lección 9 Se muestra un video utilizando el evento AT SELECTION-SCREEN para el analisis de los mensajes y errores que se generan a partir de lo introducido por el usuario en la pantalla de selección del programa junto con los efectos en pantalla que producen dichos mensajes. Ayuda para la comprensión de la parte teórica explicada en la lección anterior de esta misma unidad.

Acceder a esta publicación

Creado y Compartido por: Jose Angel Duran Fernandez

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

SAP Senior

EL EVENTO AT SELECTION-SCREEN Y LOS TIPOS DE MENSAJES El evento AT SELECTION-SCREEN analizara los mensajes y errores que se generan a partir de lo introducido por el usuario en la pantalla de seleccion del programa. La particularidad que presentan los mensajes de error es que si el mensaje se ejecuta dentro del evento STAR-OF-SELECTION la ejecucion produce lo que en ABAP se conoce como DUMP, es decir, se interrumpe el procesamiento actual del programa se visualiza en la barra inferior de la pantalla el texto del mensaje con el simbolo rojo caracteristico y lo peor es que impide totalmente la interaccion del usuario con el programa debiendo el usuario volver a ejecutar el programa, esto se verifica facilmente ejecutando un mensaje de error dentro...

Acceder a esta publicación

Creado y Compartido por: Miguel Ochoa

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

SAP Senior

EL EVENTO AT SELECTION-SCREEN Y LOS TIPOS DE MENSAJES ESTANDO EN EL PROGRAMA COLOCAMOS /H EN EL CAMPO DE COMANDOS PARA PODER DEBUGGEAR PASO A PASO NUESTRO PROGRAMA, EJECUTAMOS Y VEMOS QUE EL PRIMER EVENTO QUE SE EJECUTA ES EL AT SELECTION-SCREEN. SE AGREGAN ALGUNAS VALIDACIONES PARA PODER VER LOS TIPOS DE MENSAJES CON LOS QUE CUENTA ABAP MENSAJES E CON ESTE ERROR APARECERA UN MENSAJE EN LA PARTE INFERIOR DE LA PANTALLA QUE CORTA EL PROCESAMIENTO DEL PROGRAMA S CON ESTE ERROR APARECERA UN MENSAJE CON EL ICONO VERDE DE CONTINUAR Y PERMITE CONTINUAR CON EL PROCESAMIENTO DEL PROGRAMA W CON ESTE ERROR APARECERA UN MENSAJE CON EL ICONO AMARILLO Y NO SE PERMITE CONTINUAR CON EL PROCESAMIENTO I CON ESTE ERROR APARECERA UN MENSAJE EN...

Acceder a esta publicación

Creado y Compartido por: Luis Eugenio Leyva Orozco

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.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!