¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Mostrar archivos codificados en Base64 en cl_gui_html_viewer: Guía de decodificación de XString

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 22 Vistas
0
Cargando...

Estimado NG,

Estoy buscando una posibilidad de mostrar archivos en cl_gui_html_viewer que estén codificados en Base64.

Mi escenario:

Estoy llamando a un WebService a través de un proxy ABAP utilizando la infraestructura PI para recibir un documento de un sistema remoto (no SAP).

El documento será obtenido, codificado en Base64 y proporcionado como XString por el proxy ABAP.

Teniendo los datos del documento como XString, me gustaría pasarlos al cl_gui_html_viewer para su visualización, el problema parece ser que los datos están codificados y necesito decodificarlos primero, antes de poder dividirlos en partes más pequeñas, transferirlos a una tabla interna y pasarlos al visor.

¿Cómo decodifico el XString? Encontré opciones para decodificar un String, o un campo de tipo X, pero nada para XString.

¿Alguna sugerencia?

Muchas gracias de antemano.

Saludos, Harry

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

3 Respuestas

0
Cargando...

Bueno, entonces combina las dos decodificaciones: carácter codificado -> caracteres -> base64, así:

form test.    data: lv_xbase64 type xstring,         lv_base64 type string,         lv_decoded type string,         lo_conv type ref to cl_abap_conv_in_ce.    lv_xbase64 = '534756736247386756323979624751684953453D'.    lo_conv = cl_abap_conv_in_ce=>create( ).   lo_conv->convert( exporting input = lv_xbase64                     importing data  = lv_base64 ).   lv_decoded = cl_http_utility=>decode_base64(  lv_base64 ).   write: / lv_decoded.  " writes 'Hello World!!!  endform.

La instancia del convertidor utiliza la codificación predeterminada de mi sistema SAP, que es ISO-8859-1. También podría ser UTF-8, ya que el conjunto de caracteres base64 tiene los mismos valores de código en estas dos codificaciones. Si estás en otra codificación, puedes pasar encoding = 'UTF-8' en el método create del convertidor.

Si tienes muchos xstrings para decodificar de esta manera, puedes reutilizar la instancia del convertidor.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Swanand,

gracias por la respuesta rápida.

Ya revisé los hilos mencionados por ti, pero todos esperan una cadena como entrada para la decodificación, pero yo ya estoy recibiendo un XString.

¿Cómo decodificar un XString que está codificado en Base64?

Saludos cordiales

Harry

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?