В каком формате я могу предоставить поле BCD для Camel-Sap?
Я хотел бы разработать интерфейс, который передает запись данных через Camel-Sap в функциональный модуль SAP. Таблица данных содержит поле BCD. Каково представление поля BCD в формате camel-sap (xml)?
1 ответ
Не полный ответ на ваш вопрос, потому что я еще не использовал верблюжий сок, но что касается JCo, он автоматически преобразует любое заданное значение в тип BCD, если это возможно, то есть из String, float, double, BigDecimal или чего-либо еще, Отображение типа данных по умолчанию для типа BCD ABAP с типом Java: java.math.BigDecimal
,
Надеюсь, это поможет.
Как сказал @Trixx, тип данных ABAP BCD (Binary Coded Decimal) отображается в BigDecimal в Java. Это можно найти в документации SAP. В привязках XML к Java по умолчанию, используемых JAXB, BigDecimal сопоставляется с типом схемы XML xsd: decimal. Это можно найти в документации Java.
Таким образом, вы предоставляете поле BCD как xsd:decimal
для формата camle-sap (xml).
Пример:
В вашем SAP BAPI есть поле VALUE. Поле имеет тип CURR (BCD) и имеет длину 17 с двумя десятичными знаками. Тогда атрибут для этого поля в формате camel-sap (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>