首页 > 解决方案 > 将原始字符串(字节字符串)转换为可读字符串

问题描述

要求:SRT_MMASTER表的MESSAGE_DATA字段数据转换为可读的字符串格式或在内部表中。

我尝试了不同的功能模块来转换存储在SRT_MMASTER表的MESSAGE_DATA字段中的字节字符串(Blob)数据,但没有一个返回可读的字符串格式,或者至少生成一个 XML 文件作为回报。

我尝试过功能模块,例如

SCMS_BINARY_TO_STRING, 
SDIXML_XML_TO_DOM, 
SDIXML_DOM_TO_DATA,
SMUM_XML_PARSE

和方法如

cl_soap_xml_parser=>get_data
cl_soap_xml_parser=>get_formatted_data
CALL METHOD cl_bcs_convert=>raw_to_string

等等,但没有人能够将其转换为正确的可读格式。

你能建议使用哪个功能模块或类/方法来解决这个目的吗?

标签: abapfunction-modulesap-data-dictionary

解决方案


您可以使用IMPORTDATA BUFFER和 cl_soap_xml_helper=>xstring_to_string

DATA:
     lt_message_item        TYPE srt_persistency_item_t,
     lx_message_data TYPE xstring.

SELECT SINGLE message_data FROM srt_mmaster INTO lx_message_data.

IMPORT message_data = lt_message_item FROM DATA BUFFER lx_message_data.

DATA(lv_string) = cl_soap_xml_helper=>xstring_to_string(  lt_item[ 1 ]-value ).

推荐阅读