✒️ABAP / El procesamiento de los datos Por Cesar Rodriguez Zorrilla
ABAP El procesamiento de los datos

CONCATENATE
Definición
Se utiliza para concatenar varios campos alfanuméricos en uso solo.
Sintaxis:
CONCATENATE <c1> ... <cn> INTO <campo> [ SEPARATED BY <s> ].
Esta sentencia concatena los campos campos <c1> ... <cn> en el campo <campo>. Los espacios en blanco se ignoran
durante la operación.
Con la cláusula SEPARATED BY se puede especificar un campo alfanumérico (el campo <s>) que será utilizado
como separador entre los campos <c1> ... <cn>. Si el resultado de la concatenación entra en el campo <campo>,
SY-SUBRC = 0, si por el contrario, es necesario el truncamiento, SY-SUBRC = 4.
Ejemplo 1:
DATA: ONE(10) VALUE 'Ivan',
TWO(3) VALUE ' Rodrigo',
THREE(10) VALUE ' Baños',
NAME(20).
CONCATENATE ONE TWO THREE INTO NAME.
La variable NAME valdría:
Ivan Rodrigo Baños
Ejemplo 2:
DATA: ONE(10) VALUE 'Ivan',
TWO(3) VALUE 'Rodrigo',
THREE(10) VALUE 'Baños',
NAME(20),
SEPARATOR(4) VALUE 'GAUSS'.
CONCATENATE SPACE ONE TWO THREE INTO NAME
SEPARATED BY SPACE.
La variable NAME valdría:
IvanGAUSSRodrigoGAUS
y SY-SUBRC valdría 4.
CONDENSE
Definición
Para borrar espacios en blanco superfluos en campos alfanuméricos.
Sintaxis:
CONDENSE <campo> [ NO-GAPS ].
Borra cualquier secuencia de espacios en blanco, dejando sólo uno que exista entre palabras existentes en <campo>.
Los espacios en blanco por la izquierda también desaparecen.
Con la cláusula NO-GAPS todos los espacios en blanco desaparecen.
Ejemplo 1:
DATA: BEGIN OF NAME,
TITLE(8), VALUE 'Dr.',
FIRST_NAME(10), VALUE 'Michael',
SURNAME(10), VALUE 'Hofmann',
END OF NAME.
CONDENSE NAME.
WRITE NAME.
La salida en pantalla sería:
Dr. Michael Hofmann
Ejemplo 2:
DATA: BEGIN OF NAME,
TITLE(8), VALUE 'Dr.',
FIRST_NAME(10), VALUE 'Michael',
SURNAME(10), VALUE 'Hofmann',
END OF NAME.
CONDENSE NAME NO-GAPS.
SHIFT
Definición
Se utiliza para desplazar el contenido de un campo alfanumérico. Disponemos de distintas variantes en función del
modo de desplazamiento.
Sintaxis:
SHIFT <campo> [ BY <n> PLACES ] [ { LEFT | RIGHT | CIRCULAR } ].
Desplaza el contenido del campo <campo> <n> posiciones.El significado de las cláusulas es el siguiente:
BY -> Si se omite, el desplazamiento es de una posición. Si <n> es cero o negativo no se realiza ningún
desplazamiento. Si <n> excede de la longitud del campo <campo>, el desplazamiento se rellena con espacios en
blanco. <n> puede ser una variable.
l
LEFT -> el desplazamiento se realiza hacia la izquierda, con relleno de espacios en blanco por la derecha.
l
RIGHT -> El desplazamiento se realiza hacia la derecha, con relleno de espacios en blanco por la izquierda.
l
CIRCULAR -> El desplazamiento se realiza hacía la izquierda. Los caracteres que desaparecen por la izquierda
aparecen por la derecha.
l
SHIFT <campo> UP TO <string> [ { LEFT | RIGHT | CIRCULAR } ].
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á ningún 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.
SHIFT <campo> LEFT DELETING LEADING <string>.
SHIFT <campo> RIGHT DELETING LEADING <string>.
Realiza un desplazamiento hasta que el primer o último carácter cumpla cierto criterio. Esta sentencia desplaza el
contenido del campo <campo> hasta que el primer carácter de la izquierda (primera sentencia) o el último carácter de
la derecha (segunda sentencia) satisface cierta condición. El desplazamiento se rellena con espacios en blanco. <string>
puede ser una variable.
Ejemplo 1:
DATA ALPHABET(10) VALUE 'ABCDEFGHIJ'.
SHIFT ALPHABET CIRCULAR.
ALPHABET contendría 'BCDEFGHIJA' .
Ejemplo 2:
DATA ALPHABET(10) VALUE 'ABCDEFGHIJ',
FIVE TYPE I VALUE 5.
SHIFT ALPHABET BY FIVE PLACES.
ALPHABET contendría 'FGHIJ' .
Ejemplo 3:
DATA ALPHABET(10) VALUE 'ABCDEFGHIJ',
 
 
 
Sobre el autor
Publicación académica de Cesar Ismael Rodriguez Zorrilla, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Cesar Ismael Rodriguez Zorrilla
Republica Dominicana - Legajo: MW21J
✒️Autor de: 120 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Cesar Rodriguez






Disponibilidad Laboral: FullTime


















