`

函数:自定义汇率转换函数

阅读更多
调用:PERFORM frm_get_rate USING u_t-pswsl 'RMB' l_date1
                           CHANGING l_wrbtr.

函数定义:

1:FORM frm_get_rate  USING  u_fc   TYPE bapi1093_1-from_curr
                          u_tc   TYPE bapi1093_1-from_curr
                          u_date TYPE bapi1093_2-trans_date
                   CHANGING c_tot TYPE  bapibp_bal_amt2.
  DATA: l_return TYPE bapiret1,
        l_msg(100) TYPE c.
  CALL FUNCTION 'Z_EXCHANGERATE_CONVERSION'
    EXPORTING
      rate_type  = 'M'
      from_curr  = u_fc
      to_currncy = u_tc
      date       = u_date
    IMPORTING
      return     = l_return
    CHANGING
      amount     = c_tot.

* 汇率获取失败的信息提示
  IF l_return IS NOT INITIAL.
    CONCATENATE u_date u_fc
    '<->' u_tc '的汇率不存在'
    INTO l_msg.
    MESSAGE e000(z03) WITH l_msg.
  ENDIF.

ENDFORM.                    " FRM_GET_RATE

2:FUNCTION Z_EXCHANGERATE_CONVERSION.
*"----------------------------------------------------------------------
*"*"Local interface:
*"  IMPORTING
*"     VALUE(RATE_TYPE) TYPE  BAPI1093_1-RATE_TYPE DEFAULT 'M'
*"     VALUE(FROM_CURR) TYPE  BAPI1093_1-FROM_CURR
*"     VALUE(TO_CURRNCY) TYPE  BAPI1093_1-TO_CURRNCY
*"     VALUE(DATE) TYPE  BAPI1093_2-TRANS_DATE DEFAULT SY-DATUM
*"  EXPORTING
*"     VALUE(RETURN) TYPE  BAPIRET1
*"  CHANGING
*"     VALUE(AMOUNT) TYPE  BAPIBP_BAL_AMT2
*"----------------------------------------------------------------------
  DATA: V_CHAR_E TYPE C VALUE 'E',
        V_CHAR_A TYPE C VALUE 'A'.

  DATA: EXCH_RATE LIKE BAPI1093_0.

** Clear output parameters
  CLEAR: EXCH_RATE,
         RETURN.

  CHECK FROM_CURR <> TO_CURRNCY.

  CALL FUNCTION 'BAPI_EXCHANGERATE_GETDETAIL'
    EXPORTING
      RATE_TYPE  = RATE_TYPE
      FROM_CURR  = FROM_CURR
      TO_CURRNCY = TO_CURRNCY
      DATE       = DATE
    IMPORTING
      EXCH_RATE  = EXCH_RATE
      RETURN     = RETURN.

  IF RETURN IS NOT INITIAL.

    CLEAR: EXCH_RATE,
           RETURN.

    CALL FUNCTION 'BAPI_EXCHANGERATE_GETDETAIL'
      EXPORTING
        RATE_TYPE  = RATE_TYPE
        FROM_CURR  = TO_CURRNCY
        TO_CURRNCY = FROM_CURR
        DATE       = DATE
      IMPORTING
        EXCH_RATE  = EXCH_RATE
        RETURN     = RETURN.

    IF RETURN IS NOT INITIAL.
**     Error, don't get the exchange rate
**     and error information had been saved into parameter RETURN
    ELSE.
**    success to get indirect exchange rate
      IF EXCH_RATE-TO_FACTOR = 0.
        EXCH_RATE-TO_FACTOR = 1.
      ENDIF.
      IF EXCH_RATE-EXCH_RATE = 0.
        EXCH_RATE-EXCH_RATE = 1.
      ENDIF.

      AMOUNT = AMOUNT / EXCH_RATE-EXCH_RATE * EXCH_RATE-FROM_FACTOR
                                            / EXCH_RATE-TO_FACTOR.

    ENDIF.
  ELSE.
**  success to get direct exchange rate
    IF EXCH_RATE-FROM_FACTOR = 0.
      EXCH_RATE-FROM_FACTOR = 1.
    ENDIF.

    AMOUNT = AMOUNT * EXCH_RATE-EXCH_RATE * EXCH_RATE-TO_FACTOR
                                          / EXCH_RATE-FROM_FACTOR.
  ENDIF.

ENDFUNCTION.
分享到:
评论

相关推荐

    Excel-VBA宏编程实例源代码-自定义函数-汇率转换.zip

    本压缩包“Excel-VBA宏编程实例源代码-自定义函数-汇率转换.zip”提供了一个具体的VBA应用示例,即自定义函数用于货币汇率转换。 一、VBA基础知识 1. VBA是Microsoft Office套件中的内置编程语言,允许用户编写脚本...

    虚拟键盘汇率换算

    在移动端Web开发中,"虚拟键盘汇率换算"是一个常见的需求,它允许用户在输入货币金额时自动进行不同货币间的转换。这个项目的核心是利用JavaScript实现动态的汇率计算和显示,为用户提供便捷的货币兑换服务。下面将...

    Excel-165个VBA自定义函数大全

    币种转换函数支持多种货币之间的汇率计算,对于国际交易、旅游和全球财务报告具有重要意义。 #### 29. 检验工作表是否有可打印内容 该函数检查工作表是否包含任何可视化的数据或图表,对于预览和打印控制非常重要。...

    单位和汇率处理函数

    本文将深入探讨SAP中的单位转换函数以及汇率计算方法,同时也会介绍一个用于将数字金额转化为中文大写的程序。这些功能主要使用ABAP编程语言实现,帮助企业在进行跨国交易时确保数据的准确性和一致性。 一、单位...

    汇率换算器

    对于这个汇率换算器,readme.txt应该详细介绍了如何设置和自定义汇率、语言,以及如何更新汇率数据。 通过以上组件,该汇率换算器具备了以下特性: - **多语言支持**:用户可以根据`language.ini`文件来自定义软件...

    ABAP常用函数集锦

    22. **BP_EVENT_RAISE**、**BP_JOBLOG_READ**、**CLOI_PUT_SIGN_IN_FRONT**、**CLPB_EXPORT**、**CLPB_IMPORT**等函数:涉及事件触发、日志读取、数值格式调整、数据导入导出等操作。 23. **COMMIT_TEXT**: 用于...

    SAP常用函数文档

    5. CONVERSION_EXIT系列函数:例如CONVERSION_EXIT_CUNIT_OUTPUT用于单位转换,SJIS_DBC_TO_SBC和SJIS_SBC_TO_DBC用于字符集的全角到半角、半角到全角转换。CO_R0_CHECK_DECIMAL_POINT检查数据的小数位数,以确保...

    ABAP 函数总结 常用函数解释.doc

    18. CONVERT_TO_LOCAL_CURRENCY:按指定日期和汇率将金额转换为本地货币,处理多货币交易。 19. SSF_FUNCTION_MODULE_NAME:根据SmartForm的名称生成对应的函数模块名,用于调用SmartForms进行报表输出。 20. DATE...

    web学习-汇率计算器

    在这个项目中,可能有自定义的JavaScript代码(vm.js)来辅助Vue.js进行逻辑处理,例如处理汇率计算逻辑、用户输入验证等。 6. **组件化**:Vue.js的一大特性是组件化,允许我们将UI拆分为独立、可复用的部件。在这...

    currency_converter_python_源码

    - 自定义函数:编写一个函数来处理货币转换逻辑,提高代码可读性和复用性。 - `def`关键字定义函数,参数传递,函数返回值。 4. **模块导入**: - Python的`requests`模块:可能用于从API获取实时汇率数据。 - ...

    Python程序设计案例实训文档.docx

    - 4.0 版本:将汇率换算功能封装为函数,便于代码重用和模块化。 2. **基础代谢率(BMR)计算**: - 1.0 版本:分别计算男性和女性的基础代谢率,根据预设公式进行计算。 - 2.0 版本:程序持续运行,允许用户多...

    ExcelAPI网络函数库开发指南.pdf

    - **汇率转换GetExchangeRate**和**GetHuilv**:这两个函数都用于货币汇率转换,但可能有不同的参数和返回格式。它们可以帮助用户快速计算不同货币之间的价值。 - **抓取Json数据GetJson**和**...

    ABAP+函数总结+常用函数解释[借鉴].pdf

    14. CONVERT_TO_LOCAL_CURRENCY:根据指定日期和汇率,将金额转换为本地货币。 15. SSF_FUNCTION_MODULE_NAME:根据SmartForm的名称生成对应的函数模块名,便于调用SmartForm。 16. DATE_CHECK_PLAUSIBILITY:检查...

    Vue-exchange-rate:Vue功课汇率计算机

    Vue-exchange-rate是一个基于Vue.js框架开发的汇率计算工具,主要目标是为用户提供实时的货币汇率转换功能。这个项目展示了如何在Vue应用中整合和处理与货币数据相关的复杂逻辑,同时也体现了Vue.js在构建交互式前端...

    Excel表格的35招必学秘技(图文最终版)

    25. **关于欧元的转换**:结合汇率数据,使用货币转换函数进行货币间的换算。 26. **给表格做个超级搜索引擎**:利用Excel的“查找与选择”功能,快速定位特定数据。 27. **Excel工作表大纲的建立**:通过折叠和...

    Excel模板货币换算.zip

    固定汇率可以在表格中设置一个汇率转换表,列出各种货币对美元(或其他基准货币)的汇率,然后根据这些汇率进行计算。这种方式适用于汇率相对稳定或不需要精确到实时的情况。 货币换算的关键在于汇率管理。在模板中...

    Go-dinero:微小的货币换算Go包

    通过集成外部API或提供自定义汇率数据源,Dinero可以进行不同货币间的换算。这对于跨国交易或者需要显示多种货币值的应用来说是必不可少的。开发者可以通过设定源货币和目标货币,以及相应的汇率,轻松完成货币之间...

    Excel财务行政专项模板--货币换算

    在Excel中进行货币换算是一项常见的财务行政任务,尤其在全球化的商业环境中,了解如何高效、准确地进行货币转换至关重要。本教程将详细讲解利用Excel财务行政专项模板进行货币换算的知识点,帮助用户掌握这项技能。...

    货币换算.zip

    在Excel这样的电子表格软件中,我们可以创建一个货币换算表,利用其内置函数,如VLOOKUP或HLOOKUP查找汇率,然后使用公式进行计算。例如,可以设置一个表格,包含源货币、目标货币、汇率和金额等列,通过公式自动...

    金蝶账务软件报表函数取数公式.pdf

    7. **CURRENCYRATE** - 集团汇率取数公式:用于获取集团内部不同货币间的汇率,便于进行多币种报表转换。 8. **DATEDIFF** - 求日期差取数公式:计算两个日期之间的天数差异,常用于分析时间间隔。 9. **ITEMINFO*...

Global site tag (gtag.js) - Google Analytics