我正在尝试将此 XML 文件转换为 Abap 内部表,其中根标签
这是异常 CX_ST_MATCH_ELEMENT 的屏幕截图。
我的目标是从下面的 Rsn 和 AddtlInf 标签中获取值:
<TxInfAndSts> <----NOTE: this is repetitive
<StsRsnInf>
<Rsn>
<CD>ABC</CD>
</Rsn>
<AddtlInf>XYZ</AddtlInf>
这是客户提供的 XML 片段:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<CBISDDStsRptLogMsg xmlns="urn:CBI:xsd:CBISDDStsRptLogMsg.00.01.00" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<GrpHdr>
<MsgId>.....</MsgID>
</GrpHdr>
<OrgnlGrpInfAndSts>
...
...
</OrgnlGrpInfAndSts>
<OrgnlPmtInfAndSts>
<OrgnlPmtInfId>...</OrgnlPmtInfId>
<TxInfAndSts>
<OrgnlInstrId>.....</OrgnlInstrId>
<OrgnlEndToEndId>.....</OrgnlEndToEndId>
<TxSts>.....</TxSts>
<StsRsnInf>
<Orgtr>
<Nm>.....</Nm>
</Orgtr>
<Rsn>
<Cd>ABC</Cd>
</Rsn>
<AddtlInf>XYZ</AddtlInf>
</StsRsnInf>
</TxInfAndSts>
</OrgnlPmtInfAndSts>
</CBISDDStsRptLogMsg>
这是我的 STRAN 反序列化转换代码的片段:
如果我调试此转换,当它到达
<OrgnlPmtInfAndSts>
标签时,它就会转储。
<?sap.transform simple?>
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates" xmlns:ddic="http://www.sap.com/abapxml/types/dictionary">
<tt:root name="CBISDDStsRptLogMsg" type="ddic:ZEUDDR_XML_IT"/>
<tt:template>
<CBISDDStsRptLogMsg xmlns="urn:CBI:xsd:CBISDDStsRptLogMsg.00.01.00" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" tt:ref=".CBISDDStsRptLogMsg">
<tt:skip name="GrpHdr"/>
<tt:skip name="OrgnlGrpInfAndSts"/>
<OrgnlPmtInfAndSts>
<tt:skip name="OrgnlPmtInfId"/>
<tt:loop ref="ITEMS">
<TxInfAndSts>
<tt:skip name="OrgnlInstrId"/>
<tt:skip name="OrgnlEndToEndId"/>
<tt:skip name="TxSts"/>
<StsRsnInf>
<tt:skip name="Orgtr"/>
<Rsn>
<Cd tt:value-ref="REASON_CODE"/>
</Rsn>
<AddtlInf tt:value-ref="REASON_TEXT"/>
</StsRsnInf>
<OrgnlTxRef>
</OrgnlTxRef>
</TxInfAndSts>
</tt:loop>
</OrgnlPmtInfAndSts>
</CBISDDStsRptLogMsg>
</tt:template>
</tt:transform>
即使我提供了确切的标签名称,我也不知道为什么会发生错误。如果您能建议错误是什么以及如何解决它,我将不胜感激。