您的位置:首页 > 其它

ABAP--如何进行sap的金额数据存储和显示之间的转换(CURRENCY_AMOUNT_DISPLAY_TO_SAP)

2007-08-01 11:11 316 查看
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的数据表的字段)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: