ABAP角度看SAP货币和汇率
目录
BAPI汇率获取-BAPI_EXCHANGERATE_GETDETAIL
BAPI货币内外码转换BAPI_CURRENCY_CONV*
不同货币金额转换CONVERT_TO_LOCAL_CURRENCY
根据货币获取转换因子CURRENCY_CONVERTING_FACTOR
配置路径
事务码
OB07 维护汇率类型 (表TCURV)
OB08 维护汇率(表TCURR),美元兑人民币、美元兑比索(哥伦比亚货币)汇率如下图:
从20220729开始,1美元兑6.77470人民币
从20220729开始,1美元兑 4375.33比索(哥伦比亚货币)
数据库表
TCURC 货币代码
TCURT 货币代码描述
TCURV 货币换算的汇率类型
TCURW 汇率类型描述
TCURR 汇率
TCURF 转换因子
TCURX 货币小数位数表,此表中小数位最大为5(表中可输入大于5的数字,但是在程序中会报错);如果不在此表中维护,则默认小数位数为2.
常用数据元素
WAERS 货币码
WKURS 汇率
BAPICURR_D 数值 DEC(23,4)
BAPICUREXT数值DEC(28,9)
BAPICUREXT31数值 DEC(31,8)
BAPI汇率获取-BAPI_EXCHANGERATE_GETDETAIL
示例:美元转比索(哥伦比亚货币)汇率1USD = 4375.33COP
BAPI货币内外码转换BAPI_CURRENCY_CONV*
函数组:BFCR
组1:
BAPI_CURRENCY_CONV_TO_EXTERNAL
BAPI_CURRENCY_CONV_TO_INTERNAL
参数类型为DEC(23,4),如下图:
组2:
BAPI_CURRENCY_CONV_TO_EXTERN_9
BAPI_CURRENCY_CONV_TO_INTERN_9
参数类型为DEC(28,9),如下图:
组3:
BAPI_CURRENCY_CONV_TO_EXT_31
BAPI_CURRENCY_CONV_TO_INT_31
参数类型为DEC(31,8),如下图:
不同货币金额转换CONVERT_TO_LOCAL_CURRENCY
在程序中使用,最好指定输入输出参数有相同的小数位,否则会导致结果错误,在SE37测试数值不准确,但是在程序中是亲测可用的。
输入参数:
Rate 汇率,输入后以此汇率为准。
Read_tcurr 从数据库表TCURR中读取日期date对应的汇率。
输出参数:
EXCHANGE_RATE 汇率(不考虑汇率转换因子)
FOREIGN_FACTOR 输入货币的转换因子
LOCAL_LAMOUNT 金额(货币数值的内码,用户查看时,需调用函数转换为外码)
LOCAL_FACTOR 输出货币的转换因子
案例,50美元转到比索(哥伦比亚货币),如下图:
PS:当天,美元兑换比索:
根据货币获取转换因子CURRENCY_CONVERTING_FACTOR
此函数的原理是根据表TCURX中的小数点的位数,计算转换因子。
文章来自于网络,如果侵犯了您的权益,请联系站长删除!