我想开发一个通过camel-sap将数据记录传输到SAP功能模块的接口。数据表包含BCD字段。 Camel-sap-format(xml)中BCD字段的表示形式是什么?
答案 0 :(得分:1)
对你的问题不是一个完整的答案,因为我还没有使用过camel-sap,但就JCo而言,如果可行,它将自动将任何给定值转换为BCD类型,即来自String,float,double, BigDecimal或任何其他。
ABAP BCD类型到Java类型的默认数据类型映射为java.math.BigDecimal
。
我希望这会有所帮助。
答案 1 :(得分:0)
正如@Trixx所说, BCD(二进制编码的十进制)ABAP数据类型被映射为Java中的BigDecimal 。可以在SAP documentation中找到。在JAXB使用的默认XML到Java绑定中, BigDecimal映射到XML模式类型xsd:decimal 。可以在Java Documentation中找到。
因此,您为camle-sap-format(xml)提供了一个xsd:decimal
的BCD字段。
示例:
SAP BAPI中有一个名为VALUE的字段。该字段的类型为CURR(BCD),长度为17,带两位小数。然后,可以按以下方式定义骆驼树汁格式(xml)的该字段的属性:
<xsd:attribute name="VALUE">
<xsd:simpleType>
<xsd:restriction base="**xsd:decimal**">
<totalDigits value="17"/>
<xsd:fractionDigits value="2"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>