通貨換算
使用されるロジック、関連するテーブルと列、およびレポート通貨の変更方法など、通貨の換算方法を理解します。
金額を比較して集計関数を適用するには、抽出された各金額を単一のレポート通貨に換算する必要があります。
通貨換算は、次のテンプレートで設定されます。
デフォルトでは、レポート通貨は米国ドル (USD) です。必要に応じて、レポート通貨を変更できます。
このセクションでは、以下について説明します。
通貨の換算に使用されるロジック
変換で使用されるテーブルと列
変換スクリプトでレポート通貨を変更する方法
適用される変換制限
対象ユーザ
このセクションは、プロセスアナリスト、データアナリストとスペシャリスト、およびシステム管理者を対象としています。
換算ロジック
換算レート計算は、SAP R\3 ERP および SAP S/4HANA システムの 3 つの主要標準テーブルに基づいています。
TCURR - 換算レート
TCURF - 換算係数
TCURX - 通貨の小数点以下桁数
計算では、データは以下のように読み込まれます。
テーブル TCURR、フィールド UKURS の最新換算レート
TCURF または TCURR からの通貨換算の換算レートタイプ、'換算前通貨' を取得するためのフィールド FCURR、'換算後通貨' を取得するためのフィールド TCURR
SAP システムでは、換算レートの直接呼び値と間接呼び値の両方が保存されます。これは TCURR テーブルのプラス値とマイナス値によって示されます。したがって、両方のケースに 2 つの計算が含まれています。
また、JPY、VND、KRW などの特定の通貨の金額を正しく計算するために、テーブル TCURX (特に、さまざまな通貨の小数点以下桁数を格納するフィールド CURRDEC) が使用されます。以下の計算式を使用して、小数点以下桁数の修正が誘導されます。
COALESCE(( 10 <sup> 2 – CURRDEC </sup>, 1) )
Coalesce は、特定の通貨に CURRDEC の値が存在しない場合は、代わりに値 1 が返されるようにするために使用します。これは、小数点以下 2 桁の一般的な通貨の標準ケースです。
換算レートを決定するために、請求書、購買発注、受注などの伝票の日付が通貨有効日付と比較されます。テーブル TCURR のフィールド GDATU には、換算レートが有効になる日付が格納されます。伝票日付は、通貨換算のケースによって異なります。たとえば、請求書伝票の場合、BKPF-BUDAT (転記日付) を使用します。これは、SAP システムの標準設定です。この設定は、ご使用の SAP システム設定が標準システム設定と異なる場合に変更できます。たとえば、請求書の伝票日付または換算レート日付を取得できます。
例
ロジックと計算を説明するために、以下の変数を想定します。
c = 換算金額
a = 実際の金額
e = 換算レート
f = 換算前係数
t = 換算後係数
cdn = currdecnew が計算式に従って再計算され、10 2 - CURRDEC または 1 になります。
100JPY を USD に換算します。そのために、以下のチェックを実行します。
伝票通貨が USD の場合、金額はそのままになります。 c = a
伝票通貨が USD と異なり、換算レートが 0 より大きい場合は、実際の金額に換算レートと小数修正を乗算します。 c = a * cdn * ( e / f * t )
伝票通貨が USD と異なり、換算レートが 0 未満の場合は、換算レートを反転し、実際の金額を乗算します。 c = a * cdn * ( ( 1 / e) / f * t )
シナリオ 2 および 3 では、テーブル TCURF または TCURR の換算係数を使用して換算レートを調整する必要があります。この調整は、以下のように行われます。
換算係数は、換算レートの 1:1 比較で通貨の桁数が異なる場合に使用されます。たとえば、100 JPY : 1 USD = 0.8800 です。換算係数を使用すると、1 JPY: 1 USD = 0.8800 / 100 * 1 になります。
換算レートは、デフォルトで 1:1 の通貨換算に適用されます。前のシナリオのような場合は、換算係数を適用する必要があります。通貨は JPY であるため、SAP システムでは FI 伝票 (テーブル BSEG) のフィールド WRBTR に "1.00" として保存されます。そのため、TCURX テーブルをチェックし、CURRDEC から値を取得して小数式に適用する必要があります。小数の情報は、以下のように追加されます。
c = 1 * 10 (2 - 0) * (0.88 / 100 * 1)
c = 0.88
使用するテーブルと列
標準通貨レート計算に使用するテーブル:
Table name |
Table description |
|---|---|
TCURR |
Exchange Rates |
TCURF |
Conversion Factors |
TCURX |
Decimal Places in Currencies |
標準通貨レート計算のために抽出する列:
Table name |
Column name |
Column description |
|---|---|---|
TCURR |
KURST |
Exchange rate type |
TCURR |
FCURR |
From currency |
TCURR |
TCURR |
To currency |
TCURR |
GDATU |
Date as of which the exchange rate is effective |
TCURR |
UKURS |
Exchange rate |
TCURR |
FFACT |
Ratio for the "From" currency units |
TCURR |
TFACT |
Ratio for the "To" currency units |
TCURF |
FFACT |
Ratio for the "From" currency units |
TCURF |
TFACT |
Ratio for the "To" currency units |
TCURX |
CURRKEY |
Currency Key |
TCURX |
CURRDEC |
Number of decimal places |
換算の制限
必要なすべての換算前通貨と換算後通貨の間の換算レートが利用可能である必要があります。換算レートが 0 の場合、通貨は換算されません。
Q&A
1. デフォルトではどの通貨換算タイプが使用されますか?
デフォルトでは、通貨換算タイプ 'M' - 平均レートでの標準換算 (テーブル TCURR、フィールド KURST) が使用されます。別のタイプが社内で使用されている場合、換算レートは null に変わります。したがって、現在のタイプを使用していることを確認してください。これは、システムでトランザクションコード OB08 などを使用して確認できます。次に、PDM 計算でのタイプを変更します。変換とロードの各ステップを実行して、値を再計算します。
2. グローバル通貨として EUR を使用しています。USD から変更する方法を教えてください。
レポート通貨を USD から別の通貨に変更するには、通貨換算コードの列 TCURR (換算後通貨) に渡された値 'USD' を新しい通貨に置き換えます。利用可能な通貨コードの一覧は、テーブル TCURR で確認するか、SAP システムでトランザクションコード OY03 を使用して確認できます。
3. すべて正しく設定しましたが、値が得られません。なぜですか?
標準計算では、必要なすべての換算前通貨と換算後通貨の間の換算レートが利用可能である必要があります。
現在の通貨レート計算では、考えられるすべての通貨ペアの換算レートが更新されず、特定の通貨と参照通貨ペアの換算レートのみが考慮されるケースはサポートされません。たとえば、通貨 'A' を通貨 'B' に換算する必要があるが、テーブル TCURR にこの組み合わせのエントリがない場合は、利用可能な別の組み合わせ ('A' から 'C'、'B' から 'C' など) の換算レートを代わりに使用して換算が実行されます。関連する係数は、直接呼び値または間接呼び値のどちらであるかに応じて、2 つの換算レートごとに TCURF から読み込まれます。
上記の例で説明されているような設定を行っている場合は、これらのケースを標準ロジックに含めるか、代替フィールドを使用する必要があります。たとえば、1 つの会社コードだけを分析する場合は、金額 (国内通貨) をメトリックで再利用するだけで済みます。
4. システムでグローバル通貨を定義しました。テーブル TCURR および TCURF を使用した現在の通貨レート計算の代わりに使用することはできますか?
はい当社のデータ変換テンプレートでは、FI 伝票の第 2 国内通貨 (BSEG.DMBE2)、第 3 国内通貨 (BSEG.DMBE3) などのフィールドも抽出されます。この情報が SAP システムで更新されていることを確認します。
5. TCURR に同じフィールドが存在する場合に、通貨係数に TCURF を使用するのはなぜですか。
TCURF を使用すると、計算の精度を高めることができます。したがって、通常 TCURR の値は更新されません。計算では、両方のテーブルをチェックします。
6. 伝票テーブルから換算レートが計算されないのはなぜですか (販売伝票からの価格決定の換算レートや購買発注の換算レートなど)?
換算レートは単一伝票で変更される場合があり、換算後通貨はシステムの設定およびカスタマイジングステータスに依存します。使用ケースに応じて個別に再利用できる、標準的かつ非依存的な計算アプローチが提供されています。