在SAP中,特殊的货币在SAP系统内存储格式有些不可思议.
SAP系统中,对于日币等特殊货币,即在表TCURX 中存在数据,存在特殊情况.
SHIFT = 2 - TCURX-CURRDEC.
AMOUNT_DISPLAY = AMOUNT_INTERNAL * ( 10 ** SHIFT ).
以日币为例:
在表TCURX 中,可以查到JPY 的 小数位为0.
则 shift = 2.
在系统内显示则会放大100 进行显示.
也就是说,如果我们创建一张采购申请或者采购订单,输入的日币金额,都会以缩小100倍的格式进行存储.
经过验证,财务总账表中本位币为日元的存储一致,都是缩小100倍。
故可以使用以下两个函数进行转化。
FM: BAPI_CURRENCY_CONV_TO_EXTERN_9
FM: CURRENCY_AMOUNT_SAP_TO_DISPLAY/BAPI_CURRENCY_CONV_TO_INTERN_9