📘ABAP el Evento AT Selection-screen
Definición de ABAP el Evento AT Selection-screen
El evento AT SELECTION-SCREEN nos proporciona diferentes variantes de ejecución pero todas relacionados con la pantalla de selección.
Algunas se ejecutan antes de la pantalla de selección y otros después. Veamos a continuación estas variantes:
- AT SELECTION-SCREEN
Si utilizamos la palabra clave sin usar ninguna opción, el bloque de proceso correspondiente se ejecuta después de 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
La siguiente variante nos permite crear un bloque de proceso para un solo campo de la pantalla de selección. Debe ser un parámetro.
El bloque de proceso arranca cuando el sistema ha procesado el campo en cuestión. El sistema realiza primero validaciones de formato.
Una vez analizado el formato, arranca el bloque de proceso.
Si activamos un mensaje de error en este bloque de proceso, vuelve a aparecer la pantalla de selección y sólo se puede modificar el campo tratado. - AT SELECTION-SCREEN ON END OF
La siguiente variante nos permite validar un criterio de selección de la pantalla de selección.
El bloque de proceso se ejecuta después de introducir valores en la pantalla “compleja” de introducción de datos en un criterio de selección. - AT SELECTION-SCREEN ON VALUE-REQUEST FOR
La siguiente variante permite crear un bloque de proceso asociado cuando el usuario pulsa el botón de posibles valores (también se activa 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 ON HELP-REQUEST FOR
La siguiente variante permite crear un bloque de proceso asociado a la tecla de función F1 (ayuda en el estándar).
Normalmente lo que codifica en el bloque de proceso es una ventana de ayuda. - AT SELECTION-SCREEN ON RADIOBUTTON GROUP
La siguiente variante nos permite asociar un bloque de proceso a un radiobutton.
El bloque proceso se activa después de que el sistema procesa el radiobutton definido.
Si activamos un mensaje de error en el bloque de proceso vuelve a aparecer la pantalla de selección. Sólo el radiobutton relacionado puede ser modificado. - AT SELECTION-SCREEN ON BLOCK
La siguiente variante nos permite activar un bloque de proceso cuando el sistema termina de procesar un bloque.
Recordemos que en un bloque de pantalla de selección se define con la sentencia SELECTION-SCREEN.
Si activamos un mensaje de error en el bloque de proceso aparece de nuevo la pantalla de selección. Sólo los campos del bloque relacionado se pueden modificar. - 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 (parte PBO de la lógica de proceso).
Este bloque de proceso se puede utilizar, por ejemplo, para mover valores a los campos de la pantalla de selección, pero hay que tener en cuenta que cada vez que se procesa la pantalla de selección (puede haber mensajes de error en otros eventos AT SELECTION-SCREEN) se procesa este evento.
En ciertas ocasiones puede ser más recomendable utilizar el evento INITIALIZATION