только те, где заполнены value в таблицу для передачи из ERP в BI. вытаскиваю так
CALL FUNCTION 'SMUM_XML_PARSE'
EXPORTING
xml_input = lv_xstr_xml
TABLES
xml_table = lt_xml_table
return = lt_return.
а потом луплю по строчно
LOOP AT lt_xml_table INTO LS_XML.
IF DNUM > 0.
CLEAR LS_XML_OUT_TABLE.
dnum = 0.
ENDIF.
"ЗАПОЛНЯЕМ ЛОГИЧЕСКИЕ БЛОКИ В ОДНУ СТРОЧКУ С КЛЮЧАМИ ПО ДОМЕНУ
IF LS_XML-CNAME = 'domain'.
LS_XML_OUT_TABLE-DOMAIN = LS_XML-CVALUE.
ELSEIF LS_XML-CNAME = 'LABEL'.
LS_XML_OUT_TABLE-LABEL = LS_XML-CVALUE.
ELSEIF LS_XML-CNAME = 'VALUE'.
LS_XML_OUT_TABLE-VALUE = LS_XML-CVALUE.
Dnum = 1.
ENDIF.
IF DNUM > 0. "ЕСЛИ ЗАКОНЧИЛИ ЛОГИЧЕСКИЙ БЛОК
APPEND LS_XML_OUT_TABLE TO LT_XML_OUT_TABLE.
ENDIF.
ENDLOOP.
но это счастье умирает даже на маленьком объеме данных, т.к. по каждому xml больше 900 строк ((( как бы это оптимизировать? хотя бы в какую сторону смотреть.
1) трансформация 2) ixml класс
https://wiki.scn.sap.com/wiki/plugins/servlet/mobile?contentId=229507769#content/view/229507769
спасибо)пробовала, но поплыла.:( видимо, придется таки разбираться с работой трансформаций.
Xpath
ты бы лучше структуру хмл показала
Обсуждают сегодня