Convertir RawString a archivo XML

Hola a todos.
Estoy consumiendo un WS el cual me devuelve una cadena de tipo abap RAWSTRING, en base a esta cadena necesito crear un archivo XML. ¿que funciones puedo usar? como sería el flujo de conversiones porque según busqué hay de tipo binario64 y binario.

Gracias por el apoyo.

El tipo RAW es un contenedor de caracteres, pero puede estar en ASCII o en BIN por ejemplo. Se supone que si te han pasado un fichero XML el formato estará en base64 que es el que se usa para pasar XML en los servicios web.

Lo primero será pasar de base 64 a formato ascii:

CALL METHOD CL_HTTP_UTILITY=>IF_HTTP_UTILITY~DECODE_BASE64 EXPORTING ENCODED = I_RAWSTRING_BASE64 RECEIVING DECODED = LV_FICHERO_ASCII.

Así ya lo tienes en XML donde se pueden leer las etiquetas.

1 me gusta

Hola @Salco.
Ya tengo un string con contenido XML ahora con ese contenido deseo generar un archivo XML. ¿Qué funciones puedo usar?

Descarga el contenido de la string al pc por ejemplo con un donwload

Una consulta @Salco, la variable string con contenido xml tiene que estar con contenido binario para que en base a ello se pueda crear el xml file? el FM download acepta tabla como entrada, como puedo pasar el contenido de mi variable string a una tabla?

Hola,

CREO que lo que necesitas es esta función:

  • Pasar sxtring a binario
    CALL FUNCTION 'SCMS_XSTRING_TO_BINARY’
    EXPORTING
    buffer = 'AQUI VA EL XSTRING’
    append_to_table = 'X’
    TABLES
    binary_tab = ‘AQUI VA LA TABLA’.

Saludos,
Sebastián

1 me gusta

Hola @sconoredhot, como le comenté a @Salco tengo una variable de tipo string con el siguiente contenido: <?xml version="1.0" encoding="ISO-885..."?>… , utilizando la siguiente sentencia:

cl_abap_browser=>show_xml(
     exporting
     xml_string = my_string_xml ).

He podido visualizar que realmente estoy obteniendo el XML. Con el contenido de esta variable tengo que generar un archivo .XML.

Claro, pero la función que te paso era especificamente para:

Obvio, habría que probarla bien.
Espero que te sirva.

Saludos.

Como bien ha dicho @sconoredhot, con la función que te indica pasar el XML a la tabla y luego con el gui_download te lo bajas a pc. Te baja un fichero al que le vas a poner extensión .XML y como el contenido realmente es un XML ¡ya está!. Luego lo puedes abrir por ejemplo con el iexplorer .

1 me gusta

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.