smartform 中currency 字段的小数点问题
生活随笔
收集整理的這篇文章主要介紹了
smartform 中currency 字段的小数点问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
近日開發遇到了一個問題,當我自定義了一個表里面有金額字段PRICE 類型為currency 13小數位為4位小數,當我調用smartform 對它進行顯示的時候,price自動擴大了一百倍,比如:10.0000變成了1000.0000 。這個問題的解決方法如下:
在smartfrom 中定義一個全局字段NETPR 聲明和PRICE 相同的數據元素,在顯示單價字段之前寫一個程序行,將IT_TAB-PRICE字段的值賦給NETPR,將NETPR顯示出來既是正確的數據,既:10.0000 。
但注意:不要將NETPR字段在全局定義中聲明為“貨幣/數量字段”,否則單價金額仍然顯示的是:1000.0000 。
該問題的原理是這樣的,CURRENCY字段在SAP中必須要參考一個CURRKEY。例如‘CNY’。而這個貨幣代碼的小數點位數一般都是限制死 的,用SPRO——SAP NETWEAVER——GENERAL SETTINGS——貨幣——為貨幣設置小數位數中配置的,所以雖然我們自定義了PRICE的小數位是4位但實際上的處理仍然最多到2位,這樣就造成了數 據擴大了100倍,同理,如果我們自定義PRICE字段的小數是3位,貨幣碼為’CNY’,那么顯示結果會擴大10倍。
總結
以上是生活随笔為你收集整理的smartform 中currency 字段的小数点问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ABAP Memory/SAP Memo
- 下一篇: 重要的函数总结。