SAP ABAP:获取汇率的完整实现之一

本文介绍了一种通过调用特定函数获取汇率信息及货币转换因子的方法,并演示了如何使用这些信息进行货币之间的换算计算。
 
经常用到,好不容易做了一个完整的。
 
data: cw_rate like bapi1093_0.
data: s_c_factor type p decimals 3,
      t_c_factor type p decimals 3,.
data:  s_waerk type waerk,
       t_waerk type waerk,
       curdate type rscalday,"add by Robin 2010.08.07
       l_rate type p decimals 4.
*1. 获取汇率信息
    call function 'BAPI_EXCHANGERATE_GETDETAIL'
      exporting
        rate_type  = 'M'
        from_curr  =  s_waerk
        to_currncy =  t_waerk
        date       =  curdate
      importing
        exch_rate  = cw_rate.
*2. 获取转换因子
    call function 'CURRENCY_CONVERTING_FACTOR'
      exporting
        currency = s-waerk
      importing
        factor   = s_c_factor.
    call function 'CURRENCY_CONVERTING_FACTOR'
      exporting
        currency = t-waerk
      importing
        factor   = t_c_factor.
      l_rate = cw_rate-exch_rate * ( cw_rate-to_factor / cw_rate-from_factor )
                * ( s_c_factor / t_c_factor ) .

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/554557/viewspace-702753/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/554557/viewspace-702753/

SAP ABAP 中的函数模块(Function Module)是实现业务逻辑的重要工具,广泛用于数据处理、系统集成和事务执行。以下是一些常见的 SAP ABAP 函数模块及其用途: - **READ_EXCHANGE_RATE**:用于获取特定货币对之间的汇率信息[^2]。 - **LAST_DAY_OF_MONTHS**:返回指定月份的最后一天日期[^2]。 - **CONVERSION_EXIT_ALPHA_OUTPUT**:去除字符串中的前导零,常用于编号字段的标准化输出[^2]。 - **CONVERSION_EXIT_ALPHA_INPUT**:在输入时自动为字符串添加前导零,以确保字段格式统一[^2]。 - **SPELL_AMOUNT**:将数字金额转换为大写形式,例如财务凭证中常用的金额书写方式[^2]。 - **CTVB_COMPARE_TABLES**:用于比较两个内表的内容差异,通常用于数据一致性校验或更新检测[^2]。 - **DAY_IN_WEEK**:根据给定日期计算出该日期是星期几[^2]。 - **RP_CALC_DATE_IN_INTERVAL**:用于计算某个日期基础上增加或减少一定时间间隔后的目标日期。 - **BKK_ADD_MONTH_TO_DATE**:对日期进行月份加减运算,适用于周期性日期计算。 - **HOLIDAY_CHECK_AND_GET_INFO**:判断某一天是否为节假日,并可获取相关的假日信息,如名称和类型。 除了上述列出的函数模块之外,SAP 系统中还包含大量其他函数模块,涵盖数据访问、报表生成、用户交互等多个方面。开发者可以通过 SE37 事务代码查看系统中所有可用的函数模块,并对其进行测试与调用。 ### 示例代码 以下是一个简单的示例,展示如何在 ABAP 程序中调用 `READ_EXCHANGE_RATE` 来获取汇率信息: ```abap DATA: lv_exchange_rate TYPE f. CALL FUNCTION 'READ_EXCHANGE_RATE' EXPORTING currency_from = 'USD' currency_to = 'EUR' date = sy-datum IMPORTING exchange_rate = lv_exchange_rate. WRITE: / 'Exchange rate from USD to EUR on', sy-datum, 'is', lv_exchange_rate. ``` 此程序调用了 `READ_EXCHANGE_RATE` 函数模块,传入了起始货币、目标货币以及查询日期,并将返回的汇率值输出到屏幕上。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值