SAP ABAP 判断某个日期是否存在汇率&获取币种间汇率的标准方法

文章目录

  • 前言
  • 1.通过表判断是否存在汇率需要注意时间的内外码转换
  • 2.通过标准方法获取币种间汇率


前言

财务开发中经常需要判断某个日期是否存在币种间的汇率信息或直接获取币种间汇率


1.通过表判断是否存在汇率需要注意时间的内外码转换

表:TCURR

从数据来看 此字段的值为正常的日期格式
但实际底表存储的是转换后的内码
其例程为:CONVERSION_EXIT_INVDT_INPUT CONVERSION_EXIT_INVDT_OUTPUT


SAP ABAP 判断某个日期是否存在汇率&获取币种间汇率的标准方法_第1张图片

SAP ABAP 判断某个日期是否存在汇率&获取币种间汇率的标准方法_第2张图片

2.通过标准方法获取币种间汇率

以下为比较完整的获取两个币种之间汇率的代码

*L_BUDAT那天的汇率
  CALL FUNCTION 'BAPI_EXCHANGERATE_GETDETAIL'
    EXPORTING
      rate_type  = 'M'
      from_curr  = l_waers
      to_currncy = 'CNY'
      date       = l_budat
    IMPORTING
      exch_rate  = l_exch_rate
      return     = l_return.

*	计算金额
	IF l_exch_rate-exch_rate > 0.           "正向汇率
      p_cny_amt = p_amt                 *
                  l_exch_rate-exch_rate *
                  l_exch_rate-to_factor /
                  l_exch_rate-from_factor.
    ELSE.
      p_cny_amt = p_amt                 *   "逆向汇率
                  l_exch_rate-to_factor_v   /
                  l_exch_rate-from_factor_v /
                  l_exch_rate-exch_rate_v.
    ENDIF.

你可能感兴趣的:(SAP,财务FI,ABAP小记,SAP,FI,汇率,ABAP,TCURR)