W Pub: ABAP Cursosentenciaappend

<html>

<head>

<title>APPEND</title>

</head>

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

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

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

<p align="left">Se utiliza para aadir registros en una tabla

  interna.</p>

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

<p align="left">APPEND { <rea-trabajo> TO | INITIAL LINE

  TO} <tabla>.</p>

<p align="left">Esta sentencia aade una lnea sobre la tabla

  <tabla>. La sentencia APPEND no comprueba duplicidades en la clave estndar. 
  Despus de cada sentencia APPEND, la variable del sistema SY-TABIX contiene 
  el ndice de la lnea aadida.</p>

<ul>

  <li> 
    <p align="left">Con la clusula <rea-trabajo> TO se 
      especifica el rea de trabajo que queremos aadir. Con tablas internas con 
      cabecera de lnea se puede omitir esta clusula, los datos sern ledos 
      del rea de trabajo de la tabla interna.
  </li>
  <li> 
    <p align="left">En lugar de esta opcin se puede utilizar 
      INITIAL LINE TO, la cual aade una lnea en la tabla interna con los valores 
      iniciales correspondientes a cada componente de la tabla.
  </li>

</ul>

<p align="left">APPEND LINES OF <tabla1> { FROM <n1>

  } | {TO <n2>} TO <tabla2>.</p>

<p align="left">Para aadir parte del contenido de una tabla interna

  (o toda la tabla) al final de otra tabla, se puede utilizar la sentencia APPEND 
  con el formato anterior.</p>

<p align="left">Despus de ejecutarse la sentencia la variable

  del sistema SY-TABIX tiene el ndice de la ltima lnea aadida. Este mtodo 
  de aadir lneas de una tabla sobre otra es de tres a cuatro veces ms rpido 
  si lo hacemos lnea a lnea. Siempre que sea posible, es mejor utilizar este 
  metodo.</p>

<ul>

  <li> 
    <p align="left">Si no se especifican  las clusulas FROM 
      <n1> y TO <n2> la tabla <tabla1> se copia entera sobre 
      la tabla <tabla2>. Con la clusula FROM <n1> especificamos desde 
      donde se copia la tabla. Con TO <n2> especificamos hasta dnde se 
      copia la tabla. <n1> y <n2> son ndices de la tabla interna.
  </li>

</ul>

<p align="left">APPEND { <rea-trabajo> TO } <tabla>

  SORTED BY <campo>.</p>

<p align="left">Con este formato de la sentencia las lneas de

  la tabla no son aadidas al final de la tabla, sino que son aadidas en la tabla 
  <tabla> ordenadas por el campo <campo> de forma descendente. La 
  tabla interna slo puede contener las entradas especificadas en la clusula 
  OCCURS. Esto es una excepcin a la regla general. Si se aade una lnea y con 
  ello rebasamos el lmite definido, la ltima lnea es eliminada. Por este motivo, 
  esta sentencia para crear tablas ⚠ &lt;i&gt;ranking⚠ &lt;/i&gt; no muy grandes. Si queremos 
  ordenar tablas de muchas entradas es preferible utilizar las sentencias ⚠ &lt;a href="sort.htm" tppabs="sort.htm"&gt;SORT⚠ &lt;/a&gt; 
  por razones de rendimiento.</p>

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

<pre>

DATA: BEGIN OF ITAB OCCURS 0,

        NOMBRE(15),
        APELLIDOS(40),
      END OF ITAB.

ITAB-NOMBRE = 'Jorge'.

ITAB-APELLIDOS = 'Smith'.

APPEND ITAB.

</pre>

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

<pre>

DATA: BEGIN OF ITAB OCCURS 0,

        NOMBRE(15),
        APELLIDOS(40),
      END OF ITAB,
      BITAB LIKE ITAB OCCURS 0 WITH HEADER LINE.

ITAB-NOMBRE = 'Jorge'. APPEND ITAB.

ITAB-NOMBRE = 'Smith'. APPEND ITAB.

ITAB-NOMBRE = 'David'. APPEND MITAB.

APPEND LINES OF MITAB FROM 1 TO ITAB.

</PRE>

<p align="left">⚠ &lt;b&gt;Vease tambin: ⚠ &lt;/b&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;.</p>

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

</body>

</html>