Преобразование исходной строки SAP (Byte String) в читаемый (String) формат с использованием ABAP - PullRequest
0 голосов
/ 20 сентября 2019

Требование: Для преобразования SRT_MMASTER данных таблицы MESSAGE_DATA данных полей в читаемый строковый формат или во внутреннюю таблицу.

Я пробовал другую функциюмодули для преобразования данных байтовой строки (BLOB), хранящихся в SRT_MMASTER поле MESSAGE_DATA таблицы, но ни одно из них не вернуло читаемый строковый формат или, по крайней мере, не сгенерировало 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

и более, но ни один не смогпреобразовать его в правильный читаемый формат.

Можете ли вы предложить, какой функциональный модуль или класс / метод можно использовать для решения этой задачи?

1 Ответ

1 голос
/ 24 сентября 2019

Вы можете использовать IMPORT из БУФЕР ДАННЫХ и 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 ).
...