✒️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
Existen varias variantes dentro del evento AT SELECTION-SCREEN:
AT SELECTION-SCREEN: Si utilizamos la palabra clave sin utilizar otra opción entonces el bloque de proceso correspondiente se ejecuta luego que el sistema procese la pantalla de selección. Si durante la ejecución del bloque de proceso se activa algún mensaje de error, vuelve a aparecer la pantalla de selección. Todos los campos de la pantalla de selección se pueden modificar.
- AT SELECTION-SCREEN ON: Esta opción nos permite crear un bloque de proceso para un solo campo de la pantalla de selección, el cual será un parámetro de la pantalla de selección. El bloque de proceso se arranca cuando el sistema ha procesado el campo en cuestión. El sistema realiza primero validaciones de formato. Una vez analizado el formato, se arranca el bloque de proceso.
- AT SELECTION-SCREEN ON VALUE-REQUEST FOR: nos permite crear un bloque de proceso asociado cuando el usuario pulsa el botón de posibles valores ( o pulsando la tecla de función F4). Dicho botón aparece automáticamente a la derecha del campo (parámetro o criterio de selección) cuando se utiliza este evento. En el bloque de proceso se debe programar una lista de valores de proceso.
- AT SELECTION-SCREEN OUTPUT: La siguiente variante nos permite activar un bloque de proceso antes de que el sistema muestre la pantalla de selección (es decir en el PBO de la dynpro) de modo de poder mover valores, o cambiar textos.
La particularidad de los mensajes de error es que si el mensaje se ejecuta dentro de evento START-OF-SELECTION la ejecución produce un DUM. Se interrumpe el procesamiento del programa. Se impide la interacción del usuario con el programa. El usuario debe volver a ejecutar el programa.
Ejemplos mensaje de error para que:
- la fecha sea mayor o igual a la fecha actual
IF p_fecha < sy_datum.
MESSAGE eoo1(Z_prueba).
ENDIF.
- el nombre no contenga números
IF p_nombre ca '123456789'.
MESSAGE e002(z_Prueba).
ENDIF.
- la clave del país solo puede ser EUR.
IF NOT s_clvavep-low IS INITIAL AND s_clavep-low NE 'EUR'.
MESSAGE e002(z_prueba).
ENDIF.
 
 
 
Sobre el autor
Publicación académica de Ana Schiau, en su ámbito de estudios para la Carrera Consultor ABAP.
Ana Schiau
España - Legajo: TK43H
✒️Autor de: 55 Publicaciones Académicas
🎓Egresado del módulo:
Presentación:
Trabajo como key user sd en un multinacional y quiero aprender a programar en abap.
Certificación Académica de Ana Schiau