REPORT z_barry_convert_currency . DATA: jine LIKE bseg-wrbtr . DATA: date LIKE sy-datum . DATA: curr_ex LIKE bapicurr-bapicurr . date = ‘20060831′ . DATA: fa LIKE bseg-wrbtr , fc LIKE t001-waers , lc LIKE t001-waers , ty LIKE tcurr-kurst . fa = 100. fc = ‘JPY’ . lc = ‘RMB’ . ty = ‘M’. curr_ex = fa . CALL FUNCTION ‘BAPI_CURRENCY_CONV_TO_INTERNAL’ EXPORTING currency = fc amount_external = curr_ex max_number_of_digits = 13 IMPORTING amount_internal = fa. CALL FUNCTION ‘CONVERT_TO_LOCAL_CURRENCY’ EXPORTING date = date foreign_amount = fa foreign_currency = fc local_currency = lc type_of_rate = ty IMPORTING local_amount = jine EXCEPTIONS no_rate_found = 1 OTHERS = 2. WRITE:/ jine .
注意点:
1.Exporting各个参数一定不能用常量,要用变量
2.汇率存放在表:TCURR中,另外TCUR*有关于汇率的其他数据
3.碰到比较变态的货币,例如日元,它们是没有小数点的,系统内存储的和你看到的不同,有个BAPI可以使用:BAPI_CURRENCY_CONV_TO_INTERNAL
4.维护汇率的Tcode:OB07、OB08
5.还有一个FM:CONVERT_TO_FOREIGN_CURRENCY,和CONVERT_TO_LOCAL_CURRENCY基本没有区别,可以任选一个使用