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.


  

Flujo Completo Codificar y Decodificar

Ejemplo de flujo completo donde codificaremos y decodificaremos a BASE64 una variable de tipo STRING.

DATA: lv_origen        TYPE string VALUE 'Hola Mundo',
      lv_xstring       TYPE xstring,
      lv_base64_encode TYPE string,
      lv_base64_decode TYPE xstring,
      lv_resultado     TYPE string.

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

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

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

CALL FUNCTION '/IRM/SO_CONV_XSTRING_TO_STRING'
  EXPORTING
    i_xstring = lv_base64_decode
  IMPORTING
    e_string  = lv_resultado.

“El valor de lv_resultado será ‘Hola Mundo’

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *