Currency Issue - Factor of 100

整理一下 BW 系統裏面關於 currency 的一些 point

主要有一個 Note:

  • 1240163 - Amount too high by factor of 100 for currency HUF, JPY, KRW, JOD, CLP

這個 Note 已經說的十分詳細了。
系統內部存儲數據的格式是帶兩個小數位的。所以在遇到不帶小數位的貨幣的時候(例如:韓元、日元等),如果混淆了外部格式和內部格式,可能會帶來數據上的誤差(100倍)

Internal 的 format 顯示的都是兩位 decimal places

BW 系統中哪些是 internal 哪些是 external 的呢:

The internal format is displayed:
In SE16 in the classic format (PSA table, fact table and so on)
In the debugger
The external format is displayed:
In the query
In PSA maintenance (IMPORTANT: PSA table in SE16 see above)
In SE16:
    When using the ALV display
    If you display the single record using the “Display” function key (F7)

Internal 與 External format 互相 convert 的時候會參照一個表 TCURX (Decimal Places in Currencies)
TCURX


Example

DataSource 裏面我們設置兩個 currencies
一個以 External 的 format 輸入進 BW 系統
一個以 Internal 的 format 輸入進 BW 系統
這裏寫圖片描述

Excel 裏面的數據如下
這裏寫圖片描述

PSA 裏面的數據如下:
根據上面的可以知道這裏是 BW 系統以 external format 顯示出來的值
這裏寫圖片描述

而 PSA 表裏面,BW 系統以 internal format 顯示出來的如下:
這裏寫圖片描述

Explanation

我們來按個分析:

對於 APPLE
- 100 日元 External –> 因爲日元是沒有小數位的,所以會以 100 給內部,而內部格式是有兩位小數位的,所以以 1.00 存在內部 —> 輸出外部的時候(參考表知道日元沒有小數位)以 100 輸出
- 100 日元 內部格式 –> 內部格式是有兩位小數位的,所以按照 100.00 存在內部 —> 輸出外部的時候(參考表知道日元沒有小數位)以 10000 輸出

對於 BANANA
- 200 IQD 外部格式 –> 因爲 IQD 在系統中是標識有 3個小數位的,所以會以 200.000 給內部,而內部格式是有兩位小數位的,所以以 2000.00存在內部 —> 輸出外部的時候(參考表知道IQD 有3個小數位)以 200.000 輸出
- 200 IQD 內部格式 –> 內部格式是有兩位小數位的,所以按照 200.00 存在內部 —> 輸出外部的時候(參考表知道IQD 有3個小數位 )以 20.000 輸出

對於 PEAR
- 300 RMB 外部格式 –> 因爲 RMB 在系統中是標識有 2個小數位的,所以會以 300.00 給內部,而內部格式是有兩位小數位的,所以以 300.00存在內部 —> 輸出外部的時候(參考表知道RMB 有2個小數位)以 300.00 輸出
- 300 RMB 內部格式 –> 內部格式是有兩位小數位的,所以按照 300.00 存在內部 —> 輸出外部的時候(參考表知道 RMB 有2個小數位 )以 300.00 輸出

對於 SKIRT
- 100.89 日元 外部格式 –> 因爲日元是沒有小數位的,所以會以 101(四捨五入) 給內部,而內部格式是有兩位小數位的,所以以 1.01 存在內部 —> 輸出外部的時候(參考表知道日元沒有小數位)以 101 輸出
- 100.89 日元 內部格式 –> 內部格式是有兩位小數位的,所以按照 100.89 存在內部 —> 輸出外部的時候(參考表知道日元沒有小數位)以 10089 輸出

對於 WINE
- 200.67 IQD 外部格式 –> 因爲 IQD 在系統中是標識有 3個小數位的,所以會以 200.670 給內部(系統補零),而內部格式是有兩位小數位的,所以以 2006.70存在內部 —> 輸出外部的時候(參考表知道IQD 有3個小數位)以 200.670 輸出
- 200.67 IQD 內部格式 –> 內部格式是有兩位小數位的,所以按照 200.67 存在內部 —> 輸出外部的時候(參考表知道IQD 有3個小數位 )以 20.067 輸出

對於 ORANGE
- 300.00 RMB 外部格式 –> 因爲 RMB 在系統中是標識有 2個小數位的,所以會以 300.00 給內部,而內部格式是有兩位小數位的,所以以 300.00存在內部 —> 輸出外部的時候(參考表知道RMB 有2個小數位)以 300.00 輸出
- 300.00 RMB 內部格式 –> 內部格式是有兩位小數位的,所以按照 300.00 存在內部 —> 輸出外部的時候(參考表知道 RMB 有2個小數位 )以 300.00 輸出

以上。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章