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的数据表的字段)
     

  • 相关阅读:
    剑指Offer47 不用加减乘除做加法
    剑指Offer46 求1+2+...+n
    剑指Offer45 约瑟夫环
    剑指Offer44 扑克牌的顺子
    剑指Offer43 n个骰子点数概率
    面试题分享
    初识python版本
    redis安装部署
    配置本地yum源
    闭包、装饰器
  • 原文地址:https://www.cnblogs.com/xiaomaohai/p/6157256.html
Copyright © 2011-2022 走看看