普通外币转换可以只用上面两个函数 ,像jpy日元的存储方式比较特殊 在
再系统中可以详细看 日元的不同 有个100:1 这个需要用哪个最后一个函数转换
*增加货币转换
if eine-waers <> 'CNY'.
e = eine-netpr .
fa = 1.
call function 'BAPI_CURRENCY_CONV_TO_INTERNAL'
exporting
currency = eine-waers
amount_external = e
max_number_of_digits = 13
importing
amount_internal = i
* RETURN =
.
call function 'CONVERT_TO_LOCAL_CURRENCY'
exporting
date = sy-datum
foreign_amount = i
foreign_currency = eine-waers
local_currency = 'CNY'
rate = 0
type_of_rate = ty
read_tcurr = 'X'
importing
* EXCHANGE_RATE =
* FOREIGN_FACTOR =
local_amount = eine-netpr
* LOCAL_FACTOR =
* EXCHANGE_RATEX =
* FIXED_RATE =
* DERIVED_RATE_TYPE =
* EXCEPTIONS
* NO_RATE_FOUND = 1
* OVERFLOW = 2
* NO_FACTORS_FOUND = 3
* NO_SPREAD_FOUND = 4
* DERIVED_2_TIMES = 5
* OTHERS = 6
.
endif.
************jpy转换
factor = 1.
call function 'CURRENCY_CONVERTING_FACTOR' " 货币转换因子
exporting
currency = eine-waers
importing
factor = factor
exceptions
too_many_decimals = 1
others = 2.
if sy-subrc <> 0.
factor = 1.
endif.
eine-netpr = eine-netpr * factor.
***************