W Pub: ABAP Cursosentenciaatselectionscreen

<html>

<head>

<title>AT SELECTION-SCREEN</title>

</head>

<BODY BGCOLOR="#000000" TEXT="#FFFFFF" LINK="#0099FF" VLINK="#AA0000">

<p align="left">⚠ &lt;b&gt;<span class="titulo">AT </span>⚠ &lt;/b&gt;<span class="titulo">⚠ &lt;b&gt;SELECTION-SCREEN⚠ &lt;/b&gt;</span></p>

<p align="left">⚠ &lt;b&gt;Definicin⚠ &lt;/b&gt;</p>

<p align="left">El evento AT SELECTION-SCREEN provee de varias

  posibilidades de bloques de proceso pero todos relacionados con la pantalla 
  de seleccin. Algunos se ejecutan antes de la pantalla de seleccin y otros 
  despus.</p>

<p align="left">⚠ &lt;b&gt;Sintaxis:⚠ &lt;/b&gt;</p>

<p align="left">AT SELECTION-SCREEN</p>

<p>Si utilizamos la palabra clave sin usar ninguna opcin, el

  bloque de proceso correspondiente se ejecuta despus de que el sistema procese 
  la pantalla de seleccin. Si durante la ejecucin del bloque de proceso se activa 
  algn mensaje de error, vuelve a aparecer la pantalla de seleccin. Todos los 
  campos de la pantalla de seleccin se pueden modificar. La sentencia ⚠ &lt;a href="message.htm" tppabs="message.htm"&gt;MESSAGE⚠ &lt;/a&gt; 
  activa mensajes. Los tipo de error pueden ser A (⚠ &lt;i&gt;abend⚠ &lt;/i&gt;), E (Error), I 
  (Informativo), S (siguiente pantalla) o W (⚠ &lt;i&gt;Warning⚠ &lt;/i&gt;). EL grupo de mensajes 
  se especifica en la sentencia ⚠ &lt;a href="report.htm" tppabs="report.htm"&gt;REPORT⚠ &lt;/a&gt; (Clusula MESSAGE-ID 
  ...).</p>

<p>AT SELECTION-SCREEN ON <parmetro>.</p>

<p>La siguiente variante nos permite crear un bloque de proceso

  para un solo campo de la pantalla de seleccin. <parmetro> debe ser una 
  parmetro. El bloque de proceso se arranca cuando el sistema ha procesado el 
  campo en cuestin. El sistema realiza primero validaciones de formato. Una vez 
  analizado el formato, se arranca el bloque de proceso. Si activamos un mensaje 
  de error en este bloque de proceso, vuelve a aparecer la pantalla de seleccin 
  y slo se puede modificar el campo tratado.</p>

<p>AT SELECTION-SCREEN ON END OF <criterio>.</p>

<p>La siguiente variante nos permite validar un criterio de seleccin

  de la pantalla de seleccin. El bloque de proceso se ejecuta despus de introducir 
  valores en la pantalla "compleja" de introduccin de datos en un criterio 
  de seleccin.</p>

<p>AT SELECTION-SCREEN ON VALUE-REQUEST FOR <campo>.</p>

<p>La siguiente variante permite crear un bloque de proceso asociado

  cuando el usuario pulsa el botn de posibles valores (tambin se activa pulsando 
  la tecla de funcin F4). Dicho botn aparece automticamente a la derecha del 
  campo (parmetro o criterio de seleccin) cuando se utiliza este evento. En 
  el bloque de proceso se debe programar una lista de valores de proceso.</p>

<p>AT SELECTION-SCREEN ON HELP-REQUEST FOR <campo>.</p>

<p>La siguiente variante permite crear un bloque de proceso asociado

  a la tecla de funcin F1 (ayuda en el estndar). Normalmente lo que codifica 
  en el bloque de proceso es una ventana de ayuda.</p>

<p>AT SELECTION-SCREEN ON RADIOBUTTON GROUP <botn>.</p>

<p>La siguiente variante nos permite asociar un bloque de proceso

  a un radiobutton (grupo de botones). El bloque proceso se activa despus de 
  que el sistema procesa el radiobutton definido en <botn>. Si activamos 
  un mensaje de error en el bloque de proceso vuelve a aparecer la pantalla de 
  seleccin. Slo el radiobutton relacionado puede ser modificado.</p>

<p>AT SELECTION-SCREEN ON BLOCK <bloque>.</p>

<p>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 seleccin se define con la sentencia ⚠ &lt;a href="selection_screen.htm" tppabs="selection_screen.htm"&gt;SELECTION-SCREEN⚠ &lt;/a&gt;.  
  Si activamos un mensaje de error en el bloque de proceso aparece de nuevo la 
  pantalla de seleccin. Slo los campos del bloque relacionado se pueden modificar.</p>

<p>AT SELECTION-SCREEN OUTPUT.</p>

<p>La siguiente variante nos permite activar un bloque de proceso

  antes de que el sistema muestre la pantalla de seleccin (parte PBO de la lgica 
  de proceso). Este bloque de proceso se puede utilizar, por ejemplo, para mover 
  valores a los campos de la pantalla de seleccin, pero hay que tener en cuenta 
  que cada vez que se procesa la pantalla de seleccin (puede haber mensajes de 
  error en otros eventos ⚠ &lt;a href="at_selection_screen.htm" tppabs="at_selection_screen.htm"&gt;AT SELECTION-SCREEN⚠ &lt;/a&gt;) 
  se procesa este evento. En cierta ocasiones puede ser ms recomendable utilizar 
  el evento ⚠ &lt;a href="initialization.htm" tppabs="initialization.htm"&gt;INITIALIZATION⚠ &lt;/a&gt;.</p>

<p>⚠ &lt;b&gt;Ejemplo 1:⚠ &lt;/b&gt;</p>

<pre>SELECT-OPTIONS NAME FOR SY-REPID MODIF ID XYZ.

...

AT SELECTION-SCREEN OUTPUT.

  LOOP AT SCREEN.
    CHECK SCREEN-GROUP1 = 'XYZ'.
    SCREEN-INTENSIFIED = '1'.
    MODIFY SCREEN.
  ENDLOOP.</pre>

<p align="left">⚠ &lt;b&gt;Vease tambin:⚠ &lt;/b&gt; ⚠ &lt;a href="parameters.htm" tppabs="parameters.htm"&gt;PARAMETERS⚠ &lt;/a&gt;,

  ⚠ &lt;a href="select_options.htm" tppabs="select_options.htm"&gt;SELECT-OPTIONS⚠ &lt;/a&gt;.</p>

</body>

</html>