READ_EXCHANGE_RATE - ooxxvv/MySAPnotes GitHub Wiki
READ_EXCHANGE_RATE
- 取得所指定的日期及兩個 Currency 之間的匯率,及其個別的 Factor。
- Factor 指的是匯率表格中維護的 Factor ,而不是幣別主檔中的 Factor (所以不能用來做一般的 Factor 用途)
IMPORTING
-
EXCHANGE_RATE
- LIKE BKPF-KURSF
- 有分正負號,正表示乘,負表示除
-
FOREIGN_FACTOR
- LIKE TCURR-TCURR
- 指的是匯率表格中維護的 Factor ,而不是幣別主檔中的 Factor (所以不能用來做一般的 Factor 用途)
-
LOCAL_FACTOR
- LIKE TCURR-FCURR
- 指的是匯率表格中維護的 Factor ,而不是幣別主檔中的 Factor (所以不能用來做一般的 Factor 用途)
Code
DATA: t_er TYPE tcurr-ukurs,
t_ff TYPE tcurr-ffact,
t_lf TYPE tcurr-tfact,
t_vfd TYPE datum,
ld_erate(12) TYPE c.
CALL FUNCTION 'READ_EXCHANGE_RATE'
EXPORTING
date = p_date
foreign_currency = p_fcurr
local_currency = p_tcurr
TYPE_OF_RATE = 'M'
IMPORTING
exchange_rate = t_er
foreign_factor = t_ff
local_factor = t_lf
valid_from_date = t_vfd
EXCEPTIONS
no_rate_found = 1
no_factors_found = 2
no_spread_found = 3
derived_2_times = 4
overflow = 5
zero_rate = 6
OTHERS = 7.
IF sy-subrc EQ 0.
ld_erate = t_er / ( t_ff / t_lf ).
IF ld_erate GE 0.
p_value = p_value * ld_erate.
ELSE.
p_value = p_value / ( ld_erate * -1 ).
ENDIF.
ENDIF.