zoukankan      html  css  js  c++  java
  • 货币转换函数:CURRENCY_CONVERTING_FACTOR

    针对不同币别要做金额栏位转换

    计算规则: 金额 = 原始金额 * 转换率

    以下转自博客:https://www.cnblogs.com/sanlly/p/3371568.html

    货币转换函数:CURRENCY_CONVERTING_FACTOR

    【CURRENCY_CONVERTING_FACTOR】在SAP系统中,对于曰币、韩币、台币这类特殊货币的处理是有特殊规则的。

    首先,根据币别到DB表中读取 TCURX 中读取相应的小数位数 CURRDEC。

    如果没有维护相应币别的信息  则默认 CURRDEC = 2。

    如果 CURRDEC GT 5 就报错。

    然后默认转换率是100。

    在CURRDEC NE 0 的情况下

    循环 CURRDEC 次,每次将转换比率 除以 10.

    所以如果表 TCURX 中的 CURRDEC  = 0 就默认转换比率 为100

    当表 TCURX 中没有找到相应数据时 则默认 CURRDEC = 2.

    转换比率也是 100/ 10 / 10 = 1.

    其他的, 如果表TCURX 中的 CURRDEC = 4,  则转换比率应该为 100/ 10 /10 /10 / 10 = 0.01

    我们在SE16中看到的货币金额基本上都经过了这个转换,如曰元,都是除以100后存入数据库的。
    所以当我们从数据库中读取曰元金额时也应该作相应的转换,乘以100 。

    简单的使用Function CURRENCY_CONVERTING_FACTOR。输入币别,就可以得到相应的转换比率了。

    函数中所涉及的常用选项:
    EXPORTING:
        CURRENCY:   将被处理的货币种别编号
    IMPORTING:
        FACTOR:      转换后得到的货币比率

    例1.

    FORM BRF_AP USING F_BETRAG             "  金额
                      F_CURRENCY.         " 货币代码
    
      DATA: S_FACTOR  TYPE  P DECIMALS 3.
    
      CALL FUNCTION 'CURRENCY_CONVERTING_FACTOR'
        EXPORTING
          CURRENCY          = F_CURRENCY
        IMPORTING
          FACTOR            = S_FACTOR
        EXCEPTIONS
          TOO_MANY_DECIMALS = 1
          OTHERS            = 2.
    
      IF S_FACTOR NE 0.
        F_BETRAG = F_BETRAG / S_FACTOR.
      ENDIF.
    ENDFORM.                    "BRF_AP

    例2

    DATA: G_PER_PRICE  TYPE P,
          G_KPER_PRICE TYPE P,
          G_PRICE      TYPE P,
          PG_FACTOR    TYPE P DECIMALS 3.
    
    FORM CHANGEVALUEBYFACTOR USING P_WAERS CHANGING PG_FACTOR.
      CALL FUNCTION 'CURRENCY_CONVERTING_FACTOR'
        EXPORTING
          CURRENCY          = P_WAERS   "輸入的幣別
        IMPORTING
          FACTOR            = PG_FACTOR  "輸出的值
        EXCEPTIONS
          TOO_MANY_DECIMALS = 1
          OTHERS            = 2.
    
      IF SY-SUBRC <> 0.
        PG_FACTOR = 1.
      ENDIF.
    ENDFORM.                    "CHANGEVALUEBYFACTOR
  • 相关阅读:
    iOS书写高质量代码之耦合的处理
    下载历史版本App超详细教程
    iOS-申请邓白氏编码的超详细流程介绍
    AFNetworking之于https认证
    iOS时间问题
    AFNetworking到底做了什么?(二)
    AFNetworking到底做了什么
    iOS7中的ViewController切换
    iOS 视图控制器转场详解
    关于如何写UI及屏幕适配的一些技巧
  • 原文地址:https://www.cnblogs.com/rainysblog/p/11691404.html
Copyright © 2011-2022 走看看