CONVERT_TO_LOCAL_CURRENCY(货币汇率转换) 按日期取汇率

*&———————————————————————*
*& Report  Z_BARRY_CONVERT_CURRENCY                                    *
*&                                                                     *
*&———————————————————————*
*&                                                                     *
*&                                                                     *
*&———————————————————————*

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基本没有区别,可以任选一个使用

来源:http://scnblogs.techweb.com.cn/laobai/archives/152.html

你可能感兴趣的:(SAP-ABAP)