<html>
<head> <title>SHIFT</title> </head> <BODY BGCOLOR="#000000" TEXT="#FFFFFF" LINK="#0099FF" VLINK="#AA0000"> <p align="left">⚠ <b class="titulo">
SHIFT⚠ </b>
</p>
<p align="left">⚠ <b>
Definicin⚠ </b>
</p>
<p align="left">Se utiliza para desplazar
el contenido de un campo alfanumrico. Disponemos de distintas variantes en
funcin del modo de desplazamiento. </p>
<p align="left">⚠ <b>
Sintaxis:⚠ </b>
</p>
<pre>SHIFT <campo> [ BY <n> PLACES ] [ { LEFT | RIGHT | CIRCULAR } ].</pre>
<p>Desplaza el contenido del campo <campo> <n>
posiciones.El significado de las clusulas es el siguiente:</p>
<ul>
<li>BY -> Si se omite, el desplazamiento es de una posicin. Si <n> es cero o negativo no se realiza ningn desplazamiento. Si <n> excede de la longitud del campo <campo>, el desplazamiento se rellena con espacios en blanco. <n> puede ser una variable.</li> <li>LEFT -> el desplazamiento se realiza hacia la izquierda, con relleno de espacios en blanco por la derecha.</li> <li>RIGHT -> El desplazamiento se realiza hacia la derecha, con relleno de espacios en blanco por la izquierda.</li> <li>CIRCULAR -> El desplazamiento se realiza haca la izquierda. Los caracteres que desaparecen por la izquierda aparecen por la derecha.</li>
</ul>
<pre>SHIFT <campo> UP TO <string> [ { LEFT | RIGHT | CIRCULAR } ].</pre> <p>Realiza un desplazamiento del contenido de un campo hasta un string dado. El sistema busca el string <string> en el campo <campo>. Si el string est contenido en el campo <campo> se realizar el desplazamiento hasta alcanzar el string. De no contener <campo> el string <string> no se realizar ningn desplazamiento. <string> puede ser una variable. El modo de desplazamiento es el mismo que en la variante anterior. Si el string se encuentra en el campo <campo>, SY-SUBRC es 0, en caso contrario es 4.</p> <pre>SHIFT <campo> LEFT DELETING LEADING <string>.</pre> <pre>SHIFT <campo> RIGHT DELETING LEADING <string>.</pre> <p>Realiza un desplazamiento hasta que el primer o ltimo carcter cumpla cierto criterio. Esta sentencia desplaza el contenido del campo <campo> hasta que el primer carcter de la izquierda (primera sentencia) o el ltimo carcter de la derecha (segunda sentencia) satisface cierta condicin. El desplazamiento se rellena con espacios en blanco. <string> puede ser una variable.</p> <p>⚠ <b>
Ejemplo 1:⚠ </b>
</p>
<pre>DATA ALPHABET(10) VALUE 'ABCDEFGHIJ'.
SHIFT ALPHABET CIRCULAR.</pre>
<p>ALPHABET contendra 'BCDEFGHIJA' .</p>
<p>⚠ <b>
Ejemplo 2:⚠ </b>
</p>
<pre>DATA ALPHABET(10) VALUE 'ABCDEFGHIJ',
FIVE TYPE I VALUE 5.
SHIFT ALPHABET BY FIVE PLACES.</pre>
<p>ALPHABET contendra 'FGHIJ' .</p> <p>⚠ <b>
Ejemplo 3:⚠ </b>
</p>
<pre>
DATA ALPHABET(10) VALUE 'ABCDEFGHIJ',
THREE(3) VALUE 'DEF', FOUR(4) VALUE 'DEF '.
SHIFT ALPHABET UP TO THREE CIRCULAR.</pre>
<p>ALPHABET contendra 'DEFGHIJABC' .</p> <p>⚠ <b>
Vase tambin:⚠ </b>
⚠ <a href="concatenate.htm" tppabs="http://www.gaussr3.com/abap4/sentencias/concatenate.htm">
CONCATENATE⚠ </a>
,
⚠ <a href="shift.htm" tppabs="http://www.gaussr3.com/abap4/sentencias/shift.htm">
SHIFT⚠ </a>
, ⚠ <a href="split.htm" tppabs="http://www.gaussr3.com/abap4/sentencias/split.htm">
SPLIT⚠ </a>
.</p>
</body>
</html>