W Pub: ABAP Cursosentenciareadtable

<html>

<head>

<title>READ TABLE</title>

</head>

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

<p align="left">⚠ &lt;b&gt;<span class="titulo">READ TABLE</span>⚠ &lt;/b&gt;</p>

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

<p align="left"><span>Se utiliza para leer una

  sola lnea de una tabla interna.</span></p>

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

<pre><span>READ TABLE <tabla> [ INTO <rea-trabajo> ] INDEX <ndice>.</span></pre>

<p><span>Con la clusula INTO especificamos un

  rea de trabajo distinto a la lnea de cabecera de la tabla. La clusula INTO 
  es opcional si la tabla especificada tiene lnea de cabecera. El sistema lee 
  la lnea correspondiente al ndice <ndice>. Si el sistema encuentra la 
  lnea con el ndice indicado la variable SY-SUBRC valdr 0 y SY-TABIX  
  contiene el ndice de la lnea 0; sino, SY-SUBRC es distinto de 0. Si <ndice> 
  es menor o igual a 0 se produce un error en tiempo de ejecucin. Si el ndice 
  excede del tamao de la tabla, SY-SUBRC es 4.</span></p>

<pre><span>READ TABLE <tabla> [ INTO <rea-trabajo> ] WITH KEY <clave> [ BINAY SEARCH ].</span></pre>

<p><span>Con esta variante se puede leer de una

  tabla interna a travs de una clave particular o una tabla estndar. Con esta 
  variante tambin se puede ejecutar una bsqueda binaria en lugar de la secuencial. 
  <clave> puede tener las siguientes opciones:</span></p>

<ul>

  <li><span>WITH KEY <campo1> = <valor1> 
    ... <campon> = <valorn> -> Los campos <campo1> son campos 
    de la tabla. Los campos <valor1> son los valores que deben coincidir 
    con los campos de la tabla.</span></li>
  <li><span>WITH KEY = <valor> -> <valor> 
    es una lnea completa de la tabla.</span></li>
  <li><span>WITH KEY <valor> -> Con esta 
    opcin el sistema compara la parte izquierda de la tabla con el campo <valor>. 
    La longitud que hay que comparar viene definida por la longitud del campo 
    <valor>.</span></li>

</ul>

<pre><span>READ TABLE <tabla> [ INTO <rea-trabajo> ] [ BINAY SEARCH ].</span></pre>

<p><span>Con esta variante leemos una lnea con

  la clave estndar de la tabla interna. Esta variante slo puede ser utilizada 
  con tablas con cabecera de lnea.</span></p>

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

<pre><span>DATA: BEGIN OF INT_TABLE OCCURS 100,

        COMP1,
        COMP2,
        COMP3,
      END OF INT_TABLE.</span></pre>

<pre><span>FORM PUT_ENTRY USING ENTRY LIKE LINE OF INT_TABLE.

  READ TABLE INT_TABLE WITH KEY COMP2 = ENTRY-COMP2
                       BINARY SEARCH
                       TRANSPORTING NO FIELDS.
  IF SY-SUBRC <> 0.
    INSERT ENTRY INTO INT_TABLE INDEX SY-TABIX.
  ENDIF.

ENDFORM.</span></pre>

<p><span>⚠ &lt;b&gt;Vase tambin:⚠ &lt;/b&gt; ⚠ &lt;a href="loop_endloop.htm" tppabs="loop_endloop.htm"&gt;LOOP

  .. AT⚠ &lt;/a&gt;, ⚠ &lt;a href="insert.htm" tppabs="insert.htm"&gt;INSERT⚠ &lt;/a&gt;, ⚠ &lt;a href="modify.htm" tppabs="modify.htm"&gt;MODIFY⚠ &lt;/a&gt;.</span></p>

</body>

</html>