W Pub: ABAP Cursosentenciaatlineselection

<html>

<head>

<title>AT LINE-SELECTION</title>

</head>

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

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

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

<p align="left">Para permitir al usuario seleccionar una lnea

  de un listado y realizar alguna accin, se puede escribir un bloque de proceso 
  en el programa para el evento AT LINE-SELECTION.</p>

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

<p align="left">AT LINE-SELECTION..</p>

<p align="left">   <bloque-de-proceso></p>

<p align="left">ENDAT.</p>

<p>Este evento define un bloque de proceso que se activa cuando

  seleccionamos una lnea del informe. Este evento se utiliza en los informes 
  interactivos cuando generan salidas secundarias. Este evento se describe con 
  mayor detalle en el Captulo 15: "Programas interactivos". Si no definimos 
  una interfaz particular para el listado (a travs de la transaccin "menu 
  painter") el sistema crea una interfaz estndar. La apariencia de esta 
  interfaz es la misma que la de cualquier informe, interactivo o no. El usuario 
  podr activar este evento a travs de las siguientes acciones:</p>

<ul>

  <li>En el men "edicin", se elige la opcin "seleccionar".</li>
  <li>Presionando la tecla de funcin F2.</li>
  <li>Realizando un doble-click sobre la lnea o un solo click 
    sobre un ⚠ &lt;i&gt;hotspot⚠ &lt;/i&gt; (ver las opciones sentencia ⚠ &lt;a href="write.htm" tppabs="write.htm"&gt;WRITE⚠ &lt;/a&gt;).</li>

</ul>

<p>despus de posicionar el cursor sobre una lnea y realizar

  alguna de las acciones anteriores, el evento AT LINE-SELECTION se activa.</p>

<p>Internamente, el cdigo de funcin PICK activa el evento AT

  LINE-SELECTION. En la interfaz predefinida, la opcin de men "edicin" 
  -> "seleccionar" y la tecla de funcin F" estn asignadas 
  al cdigo de funcin PICK.</p>

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

<pre>DATA TEXT(20).

START-OF-SELECTION.

  PERFORM WRITE_AND_HIDE USING SPACE SPACE.

AT LINE-SELECTION.

  CASE TEXT.
    WHEN 'List index'.
      PERFORM WRITE_AND_HIDE USING 'X' SPACE.
    WHEN 'User command'.
      PERFORM WRITE_AND_HIDE USING SPACE 'X'.
    WHEN OTHERS.
      SUBTRACT 2 FROM SY-LSIND.
      PERFORM WRITE_AND_HIDE USING SPACE SPACE.
  ENDCASE.
  CLEAR TEXT.

FORM WRITE_AND_HIDE USING P_FLAG_LSIND P_FLAG_UCOMM.

  WRITE / 'SY-LSIND:'.
  PERFORM WRITE_WITH_COLOR USING SY-LSIND P_FLAG_LSIND.
  TEXT = 'List index'.
  HIDE TEXT.
  WRITE / 'SY-UCOMM:'.
  PERFORM WRITE_WITH_COLOR USING SY-UCOMM P_FLAG_UCOMM.
  TEXT = 'User command'.
  HIDE TEXT.
  IF SY-LSIND > 0.
    WRITE / 'PICK here to go back one list level'.
  ENDIF.

ENDFORM.

FORM WRITE_WITH_COLOR USING P_VALUE

                            P_FLAG_POSITIVE.
  IF P_FLAG_POSITIVE = SPACE.
    WRITE P_VALUE COLOR COL_NORMAL.
  ELSE.
    WRITE P_VALUE COLOR COL_POSITIVE.
  ENDIF.

ENDFORM.</pre>

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

  ⚠ &lt;a href="window.htm" tppabs="window.htm"&gt;WINDOW⚠ &lt;/a&gt;, ⚠ &lt;a href="scroll_list.htm" tppabs="scroll_list.htm"&gt;SCROLL LIST⚠ &lt;/a&gt;.</p>

</body>

</html>