W Pub: ABAP Cursosentenciashift

<html>

<head>

<title>SHIFT</title>

</head>

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

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

<p align="left">⚠ &lt;b&gt;Definicin⚠ &lt;/b&gt;</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">⚠ &lt;b&gt;Sintaxis:⚠ &lt;/b&gt;</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>⚠ &lt;b&gt;Ejemplo 1:⚠ &lt;/b&gt;</p>

<pre>DATA ALPHABET(10) VALUE 'ABCDEFGHIJ'.

SHIFT ALPHABET CIRCULAR.</pre>

<p>ALPHABET contendra 'BCDEFGHIJA' .</p>

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

<pre>DATA ALPHABET(10) VALUE 'ABCDEFGHIJ',

     FIVE TYPE I  VALUE 5.

SHIFT ALPHABET BY FIVE PLACES.</pre>

<p>ALPHABET contendra 'FGHIJ' .</p>

<p>⚠ &lt;b&gt;Ejemplo 3:⚠ &lt;/b&gt;</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>⚠ &lt;b&gt;Vase tambin:⚠ &lt;/b&gt; ⚠ &lt;a href="concatenate.htm" tppabs="http://www.gaussr3.com/abap4/sentencias/concatenate.htm"&gt;CONCATENATE⚠ &lt;/a&gt;,

⚠ &lt;a href="shift.htm" tppabs="http://www.gaussr3.com/abap4/sentencias/shift.htm"&gt;SHIFT⚠ &lt;/a&gt;, ⚠ &lt;a href="split.htm" tppabs="http://www.gaussr3.com/abap4/sentencias/split.htm"&gt;SPLIT⚠ &lt;/a&gt;.</p>

</body>

</html>