0

我想开发一个接口,通过 camel-sap 将数据记录传输到 SAP 功能模块。数据表包含一个 BCD 字段。Camel-sap-format (xml) 中 BCD 字段的表示形式是什么?

4

2 回答 2

1

不是您问题的完整答案,因为我还没有使用骆驼树液,但就 JCo 而言,如果可行,它会自动将任何给定值转换为 BCD 类型,即从 String、float、double、BigDecimal 或其他任何类型. ABAP BCD 类型到 Java 类型的默认数据类型映射是java.math.BigDecimal.

我希望这有帮助。

于 2017-12-21T16:40:41.200 回答
0

正如@Trixx 所说,BCD(二进制编码十进制)ABAP 数据类型映射到Java 中的 BigDecimal。这可以在SAP 文档中找到。在 JAXB 使用的默认 XML 到 Java 绑定中,BigDecimal 映射到 XML Schema Type xsd:decimal。这可以在Java 文档中找到。

因此,您提供一个 BCD 字段作为xsd:decimalcamle-sap-format (xml) 的格式。


例子:

您的 SAP BAPI 中有一个名为 VALUE 的字段。该字段的类型为 CURR (BCD),长度为 17,小数点后两位。那么camel-sap-format(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>
于 2019-10-11T11:11:32.353 回答