¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Exibir arquivos codificados em Base64 no cl_gui_html_viewer: Guia de decodificação de XString

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

Prezado NG,

Estou procurando uma maneira de exibir arquivos codificados em Base64 no cl_gui_html_viewer.

Meu cenário:

Estou chamando um WebService por meio de um proxy ABAP usando a infraestrutura PI para receber um documento de um sistema remoto (não SAP).

O documento será obtido, codificado em Base64 e fornecido como XString pelo proxy ABAP.

Tendo os dados do documento como XString, gostaria de passá-los para o cl_gui_html_viewer para visualização. O problema parece ser que os dados estão codificados e preciso decodificá-los primeiro, antes de dividi-los em partes menores, transferi-los para uma tabela interna e passá-los para o visualizador.

Como posso decodificar o XString? Encontrei opções para decodificar uma String ou um campo do tipo X, mas nada para XString.

Alguma sugestão?

Muito obrigado antecipadamente.

Saudações, Harry

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

3 Respuestas

0
Cargando...

Bem, então combina as duas decodificações: caractere codificado -> caracteres -> base64, assim:

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.

A instância do conversor utiliza a codificação padrão do meu sistema SAP, que é ISO-8859-1. Também poderia ser UTF-8, já que o conjunto de caracteres base64 tem os mesmos valores de código nessas duas codificações. Se estiver em outra codificação, pode passar encoding = 'UTF-8' no método create do conversor.

Se tiver muitos xstrings para decodificar dessa maneira, pode reutilizar a instância do conversor.

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

Olá Swanand,

obrigado pela resposta rápida.

Já revisei os tópicos mencionados por você, mas todos esperam uma cadeia como entrada para a decodificação, mas eu já estou recebendo um XString.

Como decodificar um XString que está codificado em Base64?

Atenciosamente

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?