SAP 外币金额 汇率 转换
生活随笔
收集整理的這篇文章主要介紹了
SAP 外币金额 汇率 转换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SAP中對于金額和匯率字段的處理(一般是會計相關的,如果會計發票,銷售發票,采購發票等)有點特殊,并不是說你多少就在系統表中寫多少,有些貨幣的金額會進行除以一個值(一般是100),所有這些金額在取出來的時候得進行相應的轉換,而有些匯率是會乘以一定的系數(一般也是100),所以我們在通過匯率計算的時候需要除以一個數,系統提供了函數來讀取金額和匯率的轉換值。
我們在從系統表中直接取出金額和匯率是一般都需要進行如下轉換
處理金額的時候需要乘以轉換值 ?這個值可以通過 ?CURRENCY_CONVERTING_FACTOR 函數獲得,
處理匯率的時候需要除以轉換值 ?這個值可以通過 ?READ_EXCHANGE_RATE 獲得
(函數?READ_EXCHANGE_RATE 也可以根據時間獲得相應的匯率)
"獲取金額轉換比率的函數 TYPE-POOLS? isoc .
DATA :CUR? LIKE?t001 -waers? .
DATA :l_fact? TYPE?ISOC_FACTOR .
CUR? =? 'JPY' .
"1.獲取轉換因子
CALL? FUNCTION? 'CURRENCY_CONVERTING_FACTOR'
? ? EXPORTING
? ? ? ? currency?????????? =?CUR
? ? IMPORTING
? ? ? ? factor? ? ? ? ? ? ? ? ? ? ? ? =?l_fact
? ? EXCEPTIONS
? ? ? ? too_many_decimals? =? 1
? ? ? ? OTHERS???????????? =? 2 .
WRITE :L_FACT .
"2.獲取匯率比率的函數 ?DATA:fc?LIKE?t001-waers?.
??DATA:l_fact?TYPE?i.
??CALL?FUNCTION?'READ_EXCHANGE_RATE'
????EXPORTING
??????date?????????????=?sy-datum
??????foreign_currency?=?fc
??????local_currency???=?'CNY'
??????type_of_rate?????=?'M'
????IMPORTING
??????foreign_factor???=?l_fact
????EXCEPTIONS
??????no_rate_found????=?1
??????no_factors_found?=?2
??????no_spread_found??=?3
??????derived_2_times??=?4
??????overflow?????????=?5
??????zero_rate????????=?6
??????OTHERS???????????=?7.?
"3.獲取當前匯率
?DATA:fact?TYPE?i,
???????rate??LIKE?vbrp-kursk,
???????p_kursf?LIKE?vbrp-kursk?.
??
??"調用取匯率函數
??CALL?FUNCTION?'READ_EXCHANGE_RATE'
????EXPORTING
??????date????????????????????= ??sy-datum??????"匯率日期
??????foreign_currency????????=??p_waers????????"外幣
??????local_currency??????????=??'CNY'????????"本幣
??????type_of_rate????????????=?'M'???????????"類型
*????EXACT_DATE??????????????=?'?'
???IMPORTING
????????exchange_rate???????????=?rate????????"交換率
????????foreign_factor??????????=?fact????????"比率
????EXCEPTIONS
??????no_rate_found???????????=?1
??????no_factors_found????????=?2
??????no_spread_found?????????=?3
??????derived_2_times?????????=?4
??????overflow????????????????=?5
??????zero_rate???????????????=?6
??????OTHERS??????????????????=?7
????????????.
*最終匯率結果 ?這里也是除以因子才是真正的匯率 ?
????p_kursf?=?rate?/?fact.
??ENDIF.
與50位技術專家面對面20年技術見證,附贈技術全景圖
"獲取金額轉換比率的函數 TYPE-POOLS? isoc .
DATA :CUR? LIKE?t001 -waers? .
DATA :l_fact? TYPE?ISOC_FACTOR .
CUR? =? 'JPY' .
"1.獲取轉換因子
CALL? FUNCTION? 'CURRENCY_CONVERTING_FACTOR'
? ? EXPORTING
? ? ? ? currency?????????? =?CUR
? ? IMPORTING
? ? ? ? factor? ? ? ? ? ? ? ? ? ? ? ? =?l_fact
? ? EXCEPTIONS
? ? ? ? too_many_decimals? =? 1
? ? ? ? OTHERS???????????? =? 2 .
WRITE :L_FACT .
"2.獲取匯率比率的函數 ?DATA:fc?LIKE?t001-waers?.
??DATA:l_fact?TYPE?i.
??CALL?FUNCTION?'READ_EXCHANGE_RATE'
????EXPORTING
??????date?????????????=?sy-datum
??????foreign_currency?=?fc
??????local_currency???=?'CNY'
??????type_of_rate?????=?'M'
????IMPORTING
??????foreign_factor???=?l_fact
????EXCEPTIONS
??????no_rate_found????=?1
??????no_factors_found?=?2
??????no_spread_found??=?3
??????derived_2_times??=?4
??????overflow?????????=?5
??????zero_rate????????=?6
??????OTHERS???????????=?7.?
"3.獲取當前匯率
?DATA:fact?TYPE?i,
???????rate??LIKE?vbrp-kursk,
???????p_kursf?LIKE?vbrp-kursk?.
??
??"調用取匯率函數
??CALL?FUNCTION?'READ_EXCHANGE_RATE'
????EXPORTING
??????date????????????????????= ??sy-datum??????"匯率日期
??????foreign_currency????????=??p_waers????????"外幣
??????local_currency??????????=??'CNY'????????"本幣
??????type_of_rate????????????=?'M'???????????"類型
*????EXACT_DATE??????????????=?'?'
???IMPORTING
????????exchange_rate???????????=?rate????????"交換率
????????foreign_factor??????????=?fact????????"比率
????EXCEPTIONS
??????no_rate_found???????????=?1
??????no_factors_found????????=?2
??????no_spread_found?????????=?3
??????derived_2_times?????????=?4
??????overflow????????????????=?5
??????zero_rate???????????????=?6
??????OTHERS??????????????????=?7
????????????.
*最終匯率結果 ?這里也是除以因子才是真正的匯率 ?
????p_kursf?=?rate?/?fact.
??ENDIF.
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的SAP 外币金额 汇率 转换的全部內容,希望文章能夠幫你解決所遇到的問題。