zoukankan      html  css  js  c++  java
  • ABAP如何进行sap的金额数据存储和显示之间的转换(CURRENCY_AMOUNT_DISPLAY_TO_SAP)

    SAP在顯示金額及儲存金額時會透過一個Table(TCURX)及特定的計算公式產生其結果

    具体代码的写法如下:
    A. 显示存储的金額
    DATA: SHIFT TYPE I.
    CLEAR SHIFT.
    SELECT SINGLE * FROM TCURX WHERE CURRKEY = (货币类型).
    IF SY-SUBRC = 0.
      SHIFT = 2 - TCURX-CURRDEC.
    ENDIF.
    (显示金額) = (存储金額) * 10 ** SHIFT.

    B. 存储输入的金額(至CURR type的数据表的字段)
    DATA: SHIFT TYPE I.
    CLEAR SHIFT.
    SELECT SINGLE * FROM TCURX WHERE CURRKEY = (货币类型).
    IF SY-SUBRC = 0.
      SHIFT = TCURX-CURRDEC – 2.
    ENDIF.
    (存储金額) = (显示金額) * 10 ** SHIFT.

    由上面公式您可以了解为何TWD显示100為何存储值为1
    在TCURX中CURRKEY = ‘TWD’ 其CURRDEC = 0, 因此显示金额会乘十的负二次方才是存储的結果

    C:利用现成的Function modules:
    CURRENCY_AMOUNT_ SAP _TO_ DISPLAY : 显示存储的金額
    CURRENCY_AMOUNT_DISPLAY_TO_SAP : 存储输入的金額(至CURR type的数据表的字段)
     

  • 相关阅读:
    Java单例模式
    svn 清理失败 (clean up 失败) 的解决方法
    linux chrome 安装过程记录
    docker
    linux-cat-grep
    linux-批量结束进程
    linux-压缩与解压缩(gz,zip,tar,jar,war)
    git-服务器地址切换
    linux-tomcat连接数查询
    git-无法add文件的问题
  • 原文地址:https://www.cnblogs.com/xiaomaohai/p/6157256.html
Copyright © 2011-2022 走看看