我正在尝试将简单的 XML 转换为 ABAP 并使用事务XSLT_TOOL
。我得到的垃圾场
错误 tiempo ejec。ST_MATCH_FAIL Excepción
CX_ST_MATCH_ELEMENT Fecha y hora 31.07.2017 18:55:46
XML:
<?xml version="1.0" encoding="UTF-8"?>
<objects type="array">
<object>
<transaction-id type="integer">28</transaction-id>
<message type="symbol">FAILURE</message>
<errors type="array">
<error>
<row type="integer">0</row>
<field>Sin datos</field>
<message>El Json no puede estar en blanco.</message>
</error>
</errors>
</object>
</objects>
这是程序生成的:
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates" xmlns:ddic="http://www.sap.com/abapxml/types/dictionary" xmlns:def="http://www.sap.com/abapxml/types/defined"> <tt:root name="ZDGR2_RETORNOINVOCACION" type="ddic:ZDGR2_RETORNOINVOCACION"/> <tt:template>
<ZDGR2_RETORNOINVOCACION>
<MESSAGE tt:value-ref=".ZDGR2_RETORNOINVOCACION.MESSAGE"/>
<TRANSACTION_ID tt:value-ref=".ZDGR2_RETORNOINVOCACION.TRANSACTION_ID"/>
<ERRORS>
<tt:loop ref=".ZDGR2_RETORNOINVOCACION.ERRORS">
<ZDGR2_ERRORS>
<FILA tt:value-ref="FILA"/>
<FIELD tt:value-ref="FIELD"/>
<MESSAGE tt:value-ref="MESSAGE"/>
</ZDGR2_ERRORS>
</tt:loop>
</ERRORS>
</ZDGR2_RETORNOINVOCACION>
</tt:template> </tt:transform>
这是一个简单的程序:
DATA: lv_xml Type string.
DATA: it_resultado type ZDGR2_RETORNOINVOCACION.
CONCATENATE '<?xml version="1.0" encoding="UTF-8"?><objects type="array"><object><transaction-id type="integer">28</transaction-id><message type="symbol">FAILURE</message><errors type="array"><error><row type="integer">0</row><field>Sin datos</field>' '<message>El Json no puede estar en blanco.</message></error></errors></object></objects>' INTO lv_xml.
CALL TRANSFORMATION zdgr2_retornoinvocacion
SOURCE XML lv_xml
RESULT zdgr2_retornoinvocacion = it_resultado.
我究竟做错了什么?