ABAP: Pasar de STRING a XSTRING

Para pasar de STRING a XSTRING utilizaremos la función SCMS_STRING_TO_XSTRING, a la que pasaremos una variable de tipo STRING y nos devolverá el resultado en un XSTRING.
 

Función SCMS_STRING_TO_XSTRING

DATA: lv_string   TYPE string
      lv_xstring  TYPE xstring,

CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
    EXPORTING
      text     = lv_string   
    IMPORTING
      buffer   = lv_xstring
    EXCEPTIONS
      failed   = 1
      OTHERS   = 2.

 
Para ver mas funciones de SAP pulse en el siguiente enlace: Listado de funciones

ABAP: Codificar/Decodificar a BASE64

Para codificar o decodificar a BASE64 utilizaremos las funciones ‘SCMS_BASE64_ENCODE_STR‘ o ‘SCMS_BASE64_DECODE_STR‘ respectivamente.
  

Función SCMS_BASE64_ENCODE_STR

Para codificar a BASE64 deberemos pasarle el contenido en una variable de tipo XSTRING y nos devolverá el contenido codificado en una variable de tipo STRING.

DATA: lv_base64_encode  TYPE string,
      lv_xstring        TYPE xstring.

CALL FUNCTION 'SCMS_BASE64_ENCODE_STR'
  EXPORTING
    input  = lv_xstring
  IMPORTING
    output = lv_base64_encode.

  

Función SCMS_BASE64_DECODE_STR

Para decodificar BASE64 le pasaremos el contenido BASE64 en una variable de tipo STRING y nos devolverá el resultado decodificado en una variable de tipo XSTRING (que luego podemos convertir a lo que necesitemos).

DATA: lv_base64_encode TYPE string,
      lv_base64_decode TYPE xstring.

CALL FUNCTION 'SCMS_BASE64_DECODE_STR'
  EXPORTING
    input  = lv_base64_encode
  IMPORTING
    output = lv_base64_decode
  EXCEPTIONS
    failed = 1
    OTHERS = 2.

Leer más

ABAP: Manejo de cadena de caracteres

En la siguiente guía veremos cómo operar con cadenas de caracteres (Entendemos por cadena de caracteres los siguientes tipos d, n, c, t y string)

 

Reemplazar

Para reemplazar un carácter o cadena de caracteres utilizaremos REPLACE.
Buscará el string1 (tardes) con el string2 (noches) en el string 3(Buenas tardes) y el resultado será Buenas noches.

DATA: string1 TYPE string VALUE 'tardes',
      string2 TYPE string VALUE 'noches',
      string3 TYPE string VALUE 'Buenas tardes'.

REPLACE string1 WITH string2 INTO string3.

 

Pasar a Mayúsculas/Minúsculas

Para pasar de mayúsculas a minúsculas o viceversa, utilizaremos TRANSALTE, indicando TO UPPER CASE para pasar a mayúsculas o TO LOWER CASE para pasar a minúsculas.

TRANSLATE string1 TO UPPER CASE.

TRANSLATE string1 TO LOWER CASE.

Leer más

ABAP Manejo de String (I): Concatenate

CONCATENATE

Podemos concatenar variables o texto hardcodeado en ABAP, para ello utilizaremos la siguiente forma base (Si no ponemos nada, no se separarán las variables):

DATA: lv_nombre(30) TYPE c VALUE ‘Roberto’,
      lv_aux(60)    TYPE c.

CONCATENATE lv_nombre ‘Lopez’ INTO lv_aux.

El contenido de lv_aux seria «RobertoLopez»

 

Separadores

Podremos incluir separadores:

  • SEPARATED BY space: Añadirá un espacio entre cada variable (no modificará las variables), el resultado del ejemplo anterior sería «Roberto Lopez»
  • SEPARATED BY *: Definiremos cómo se separará (una letra, número, …), el resultado del ejemplo anterior sería: Roberto*Lopez

Leer más