ABAP 获取当天汇率的方法

DATA I_GDATU LIKE SY-DATUM.
DATA I_TCURR LIKE TCURR OCCURS 0 WITH HEADER LINE.


 IF ITAB-WAERK EQ 'EUR'.    "欧元
        CALL FUNCTION 'CONVERSION_EXIT_INVDT_INPUT'
        EXPORTING
          INPUT  = SY-DATUM
        IMPORTING
          OUTPUT = I_GDATU.
    SELECT  KURST FCURR TCURR UKURS GDATU  UP TO 1 ROWS
    INTO CORRESPONDING FIELDS OF TABLE I_TCURR
          FROM TCURR                  "汇率
          WHERE KURST EQ 'M'          "汇率类型
          AND  FCURR EQ   ITAB-WAERK   "从货币
          AND  TCURR EQ   'USD'        "最终货币
           AND  GDATU >  I_GDATU      "汇率有效起始日期
          ORDER BY GDATU.
      READ TABLE I_TCURR INDEX 1.
      ITAB-GIWR = ITAB-GIWR * I_TCURR-UKURS.
      ITAB-WAERK = 'USD'.
    ELSEIF ITAB-WAERK EQ 'HKD'."港币
              CALL FUNCTION 'CONVERSION_EXIT_INVDT_INPUT'
        EXPORTING
          INPUT  = SY-DATUM
        IMPORTING
          OUTPUT = I_GDATU.
    SELECT  KURST FCURR TCURR UKURS GDATU  UP TO 1 ROWS
    INTO CORRESPONDING FIELDS OF TABLE I_TCURR
          FROM TCURR                  "汇率
          WHERE KURST EQ 'M'          "汇率类型
          AND  FCURR EQ   'USD'       "从货币
          AND  TCURR EQ   ITAB-WAERK  "最终货币
           AND  GDATU >  I_GDATU      "汇率有效起始日期
          ORDER BY GDATU.
      READ TABLE I_TCURR INDEX 1.
      ITAB-GIWR = ITAB-GIWR / I_TCURR-UKURS.
      ITAB-WAERK = 'USD'.
    ELSEIF ITAB-WAERK EQ 'RMB'."人民币
              CALL FUNCTION 'CONVERSION_EXIT_INVDT_INPUT'
        EXPORTING
          INPUT  = SY-DATUM
        IMPORTING
          OUTPUT = I_GDATU.
    SELECT  KURST FCURR TCURR UKURS GDATU  UP TO 1 ROWS
    INTO CORRESPONDING FIELDS OF TABLE I_TCURR
          FROM TCURR                  "汇率
          WHERE KURST EQ 'M'          "汇率类型
          AND  FCURR EQ   'USD'       "从货币
          AND  TCURR EQ   ITAB-WAERK  "最终货币
           AND  GDATU >  I_GDATU      "汇率有效起始日期
          ORDER BY GDATU.
      READ TABLE I_TCURR INDEX 1.
      ITAB-GIWR = ITAB-GIWR / I_TCURR-UKURS.
      ITAB-WAERK = 'USD'.
   ENDIF.


注意表TCURR,从欧元到美元,都是正数。从港币,人民币到美元都是负数。所以在转化的时候注意更改汇率方向。

美元 = 欧元 * 汇率;

美元 = 港元或人民币 / 汇率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值