Volver al Blog

Transformación Segura: De Archivo Binario a XSTRING en ABAP


Cuando necesitamos extraer un archivo del servidor (o cargado por el usuario) para enviarlo hacia plataformas externas como SAP BTP Integration Suite, tratarlo como texto plano es un error que corromperá la data. La forma profesional de manipular archivos es trabajarlos en modo binario y convertirlos a una cadena continua XSTRING.

Aquí tienes el bloque de código ABAP que utilizo habitualmente para esta tarea, utilizando el módulo de funciones estándar de SAP:

DATA: lt_binary_tab TYPE STANDARD TABLE OF x255,
      lv_length     TYPE i,
      lv_xstring    TYPE xstring.

" Asumimos que lt_binary_tab ya fue llenada (ej. vía GUI_UPLOAD o OPEN DATASET)

CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
  EXPORTING
    input_length = lv_length
  IMPORTING
    buffer       = lv_xstring
  TABLES
    binary_tab   = lt_binary_tab
  EXCEPTIONS
    failed       = 1
    OTHERS       = 2.

IF sy-subrc = 0.
  " lv_xstring ahora contiene la data íntegra
  " Listo para empaquetarse en un proxy, OData o enviarse a CPI
ENDIF.

Con el payload en formato XSTRING, aseguras que la codificación base64 en destino (si es que se requiere) sea matemáticamente exacta, previniendo caídas en las interfaces por caracteres extraños.