ABAP Cursosentenciawhileendwhile
<html>
<head> <title>WHILE .. ENDWHILE</title> </head> <BODY BGCOLOR="#000000" TEXT="#FFFFFF" LINK="#0099FF" VLINK="#AA0000"><p align="left">⚠ <b class="titulo">WHILE .. ENDWHILE⚠ </b></p>
<p align="left">⚠ <b>Definicin⚠ </b></p>
<p align="left">Ejecuta un bloque de
sentencias ms de una vez, hasta que una condicin se cumpla. </p>
<p align="left">⚠ <b>Sintaxis:⚠ </b></p>
<pre>WHILE <condicin> [ VARY <f> FROM <f1> NEXT <f2> ].
<bloque_de_sentencias>.
ENDWHILE.</pre>
<p>El sistema procesa el bloque de sentencias hasta que se cumpla la condicin o hasta que el sistema procesa una sentencia⚠ <a href="exit.htm" tppabs="exit.htm">EXIT⚠ </a>,
⚠ <a href="stop.htm" tppabs="stop.htm">STOP⚠ </a> o REJECT. Para condicin se puede utilizar
cualquier expresin lgica. El campo del sistema SY-INDEX contiene el nmero
de veces que el bucle ha sido ejecutado. El sistema permite anidar sentencias
WHILE, as como combinarlas con otras sentencias de bucle.</p>
<p>La opcin VARY acta de la misma forma en que acta la
opcin VARYING en la sentencia ⚠ <a href="do_enddo.htm" tppabs="do_enddo.htm">DO⚠ </a>. Al igual en la
sentencia ⚠ <a href="do_enddo.htm" tppabs="do_enddo.htm">DO⚠ </a>, se puede utilizar ms de una opcin
VARY en una sentencia WHILE.</p>
<p>⚠ <b>Ejemplo:⚠ </b></p>
<pre>DATA: SEARCH_ME TYPE I,
MIN TYPE I VALUE 0,
MAX TYPE I VALUE 1000,
TRIES TYPE I,
NUMBER TYPE I.
SEARCH_ME = 23.
WHILE NUMBER <> SEARCH_ME. ADD 1 TO TRIES.
NUMBER = ( MIN + MAX ) / 2.
IF NUMBER > SEARCH_ME.
MAX = NUMBER - 1.
ELSE.
MIN = NUMBER + 1.
ENDIF.
ENDWHILE.</pre>
<p>⚠ <b>Vase tambin:⚠ </b> ⚠ <a href="call_function.htm" tppabs="call_function.htm">CALL
FUNCTION STARTING NEW TASK⚠ </a>.</p>
</body>
</html>