W Pub: ABAP Cursosentenciaadd

<html>

<head>

<title>ADD</title>

</head>

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

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

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

<p align="left"><span>Aade el contenido del campo

  <n> sobre el campo <m>. Adems del formato bsico, la sentencia 
  ADD tiene otra variante para la suma de campos adyacentes.</span></p>

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

<p align="left"><span>ADD <n> TO <m>.</span></p>

<p align="left"><span>ADD <n1> THEN <n2>

  UNTIL <nz> { GIVING | TO }<m>.</span></p>

<p align="left"><span>Suma la secuencia de campos

  <n1>, <n2>, ... , <nz>. <m>. <n1>, >n2>, 
  ... , <nz> deben ser una secuencia de campos equidistantes en memoria 
  del mismo tipo y longitud.</span></p>

<ul>

  <li> 
    <p align="left"><span>Con la clusula GIVING 
      el campo <m> se actualiza con el resultado de la suma. </span>
  </li>
  <li> 
    <p align="left"><span>Con la clusula TO al 
      campo <m> se le aade el resultado de la suma. </span>
  </li>

</ul>

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

<pre><span>DATA: NUMBER TYPE I VALUE 3,

      SUM    TYPE I VALUE 5.

ADD NUMBER TO SUM.</span></pre>

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

<pre><span>DATA: BEGIN OF NUMBERS,

        ONE   TYPE P VALUE 10,
        TWO   TYPE P VALUE 20,
        THREE TYPE P VALUE 30,
        FOUR  TYPE P VALUE 40,
        FIVE  TYPE P VALUE 50,
        SIX   TYPE P VALUE 60,
      END   OF NUMBERS,
      SUM TYPE I VALUE 1000.

ADD NUMBERS-ONE THEN NUMBERS-TWO

                UNTIL NUMBERS-FIVE GIVING SUM.</span></pre>

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

<ul>

  <li> 
    <pre><span>BCD_BADDATA : El campo P tiene un formato BCD incorrecto. 

BCD_FIELD_OVERFLOW : El campo del resultado es demasiado pequeo.

BCD_OVERFLOW : Overflow al hacer la operacin aritmtica .

COMPUTE_INT_PLUS_OVERFLOW : Al aadir se ha producido un "Overflow" en un entero.</span></pre>

  </li>

</ul>

<pre><span>⚠ &lt;b&gt;Vease tambin: ⚠ &lt;/b&gt;⚠ &lt;a href="compute.htm" tppabs="compute.htm"&gt;COMPUTE⚠ &lt;/a&gt;, ⚠ &lt;a href="add_corresponding.htm" tppabs="add_corresponding.htm"&gt;ADD-CORRESPONDING⚠ &lt;/a&gt;</span></pre>

</body>

</html>