外貨換算ルール

この機能により、一般的に公正妥当だと認められた会計原則に従って、現地通貨額を 1 つまたは複数のレポート通貨または連結通貨に換算します。

外貨換算ルールは、データマネージャパッケージを使用して個別のタスクとして実行されます。これらのルールは連結セントラル領域の連結モニタから実行することもできます。

前提条件

外貨換算は、対応するレートモデルが参照された財務モデルと制度連結モデルの両方に適用されます。

外貨換算の実行時には、平均レートや期末レートなどのさまざまな換算レートと、式が適用されます。外貨換算ルールには、一意の勘定レートタイプに対して必要なレートおよびロジックが含まれます。トリガされるには、勘定レートタイプが勘定ディメンションに存在する必要があります。ただし、はじめに外貨換算ルールを登録して名称を付けてから、勘定ディメンションの RATE_TYPE をそれが関連する勘定科目に割り当てることができます。外貨換算の実行時には、該当する勘定科目に割り当てられた勘定レートタイプに対して定義されたルールに従って、各勘定科目が換算されます。

データをエンティティの現地通貨で保存し、それを 1 つまたは複数のレポート通貨または連結通貨に換算する必要がある場合、通貨タイプディメンションが存在する必要があります。また、自動換算に使用される換算レートが格納されるレートモデルにアクセスする必要があります。以下の一覧は、外貨換算に必要なアプリケーション設定の概要を示しています。

  • 環境には、換算レートが格納されるレートモデルが含まれている必要があります。このレートモデルは、それが利用されるモデルに割り当てる必要があります。

  • モデル自体には、通貨タイプディメンションと、場合によってはグループディメンションが含まれている必要があります。

  • 通貨 (R タイプ) ディメンションには、以下のプロパティが含まれている必要があります。

    • REPORTING: 値は Y または空白

    • CURRENCY_TYPE: 値はレポート通貨の R、取引通貨の T、または現地通貨の L連結通貨の値 G は、通貨ディメンションがグループの管理にも使用される場合にのみ使用されます。この値は、旧バージョンの SAP Business Planning and Consolidation から移行されたモデルにのみ関連します。

  • 連結タイプモデルについては、グループ (G) ディメンションに以下のプロパティが含まれている必要があります。

    • GROUP_CURRENCY: 値は前述の通貨ディメンションの有効な通貨

    • CURRENCY_TYPE: 値は連結通貨の G または非グループ関連データ (ローカルデータ) の N

  • エンティティ (E タイプ) ディメンションには、値が有効な Input_Currencies であるプロパティ CURRENCY が含まれている必要があります。入力通貨は、レートモデルの通貨ディメンションに一覧にされます。

  • 勘定 (A タイプ) ディメンションには、プロパティ RATETYPE が含まれている必要があり、その値は対応する外貨換算ルールの名前である必要があります。

  • 時間 (T タイプ) ディメンションには、YEARPERIODTIMEID、および MONTHNUM の各プロパティが含まれている必要があります。

  • 監査ディメンションは外貨換算では必須ではありませんが、含める場合は、ディメンションに以下のプロパティが含まれている必要があります。

    • DATASRC_TYPE。値は以下のとおりです。

      • I - 入力

      • M - マニュアル調整

      • A - 消去および調整

      • L - 監査レベル (連結専用)

    • IS_CONVERTED。値は以下のとおりです。

      • N - 換算時にこれらのメンバーは無視されます。

      • Y (または空白) - これらのメンバーは、マニュアル調整に必要であるとフラグ設定されていない場合、現地通貨から指定通貨に換算されます。これらのメンバーにはマニュアルで入力された通貨換算があります。

      • G - これらのメンバーは、指定グループに対応する通貨メンバーに換算されている、グループのレポート通貨からコピーされます。

  • フロー (S タイプ) ディメンションは外貨換算で必須ではありませんが、含める場合は、ディメンションにプロパティ FLOW_TYPE が含まれている必要があります。

  • 該当するレートモデル内の InputCurrency ディメンションには、値が乗算レートの M または除算レートの D であるプロパティ MD が含まれている必要があります。

  • 適切な FXTRANS ロジックが利用可能である必要があります。

デフォルト換算により、現地通貨 (通貨 = LC) のすべての値が読み込まれ、適用レートモデルに従って正確な換算レートが適用され、結果が適切なレポート通貨 (USD、ユーロなど) で書き込まれます。

レート選択

正しいレートの選択に向けて、以下のルールが適用されます。

  • 元通貨は、換算されているエンティティのプロパティ CURRENCY から派生します。

  • 換算時に適用される、EndflowHistrate などのレートは、換算される勘定のプロパティ RATETYPE から派生します。

  • 有効なレートは、GROUP プロパティの値が外国為替レートであるレートモデルの勘定科目に対応するレートです。

  • 外貨換算ビジネスルールの一部ではないレートタイプの勘定科目は換算されず、係数 1 の空白のレートタイプのすべての勘定科目が換算されます。

複数通貨モデルの製品とともに提供されるデフォルト外貨換算では、クロスレート換算が実行されます。つまり、現地通貨の金額を宛先通貨のレートと元通貨のレートの比率で乗算します。これにより、モデルで、元通貨の宛先通貨への換算に 1 つのレートテーブルのみを使用できるようになります。

以下をサポートするため、その他のタイプの換算を、外貨換算ビジネスルールテーブルおよび通貨ディメンションと InputCurrency ディメンションの関連プロパティを使用して定義することができます。

  • レポート (宛先) 通貨ごとに異なるレートテーブルの使用

  • 乗算通貨と除算通貨の区別

外貨換算実行の条件

外貨換算は、以下の 2 つのモードで実行することができます。

  • レポート通貨モード

    レポート通貨モードでは、現地通貨で記録された取引データが指定したレポート通貨に換算されます。このモードの場合、スクリプトが以下のようになっていることを確認してください。

    *RUN_PROGRAM CURR_CONVERSION

    CATEGORY = %C_CATEGORY_SET%

    CURRENCY = %RPTCURRENCY_SET%

    TID_RA = %TIME_SET%

    RATEENTITY = GLOBAL

    ......

    *ENDRUN_PROGRAM

    キーワード CURRENCY に注意します。レポート通貨に対して外貨換算を実行する場合、式の左辺のキーワードは CURRENCY となります。グループに対して外貨換算を実行する場合は、キーワード GROUP を使用します。

  • グループモード

    グループモードでは、子会社のデータがグループの通貨に換算されます。このモードは、主に連結前に使用します。

実行する外貨換算モードにかかわらず、以下の条件を満たす必要があります。

  • モデルには、通貨 (タイプ R) ディメンションが 1 つだけ含まれる必要があります。

  • 連結モデルには、グループ (G タイプ) ディメンションが 1 つだけ含まれる必要があります。

    旧バージョンの SAP Business Planning and Consolidation から移行された連結モデルについては、現バージョンとの互換性を確保するために、このディメンションは必須ではありません。

  • レポートモデルは、RATE モデルを参照する必要があります。

  • 勘定、エンティティ、通貨などのディメンションには、以下の表に示されているように適切なプロパティが含まれる必要があります。

    モデル

    ディメンション

    プロパティ

    説明

    メイン

    勘定

    RATETYPE

    RATETYPE プロパティの値は、対応する外貨換算ルールの名前 (AVGENDENDFLOW など) である必要があります。

    メイン

    エンティティ

    CURRENCY

    CURRENCY プロパティは、現エンティティの現地通貨を示します。たとえば、エンティティ US の通貨は USD であり、エンティティ FRANCE の通貨は EUR です。このプロパティの値は、InputCurrency ディメンションの有効なメンバーである必要があります。

    メイン

    通貨

    CURRENCY_TYPE

    CURRENCY_TYPE プロパティによって通貨タイプが指定されます。値は以下のとおりです。

    • L (現地通貨)

    • R (レポート通貨)

    • G (グループ、移行されたモデルの互換性のみ)

    メイン

    グループ

    CURRENCY_TYPE

    CURRENCY_TYPE プロパティにより、メンバーがグループ/サブグループであるか、またはローカルデータの入力に使用されるのかが指定されます。

    • G (グループ)

    • N (非グループ、データ入力に使用)

    メイン

    時間

    YEAR

    YEAR プロパティには ID の年情報が含まれています。たとえば、ID が 2016.AUG の場合、YEAR は 2016 です。

    メイン

    時間

    PERIOD

    PERIOD プロパティは、現在が属する期間を示します。たとえば、ID が 2016.AUG の場合、PERIOD は AUG です。

    メイン

    時間

    PERIOD

    TIMEID プロパティは現在の時点を数値で表したものです。たとえば、2016.AUG の場合、TIMEID は 20160800 です。

    メイン

    時間

    MONTHNUM

    MONTHNUM は 1 年の決算期を識別するために定義されます。同じ年の時間ディメンション階層のベースメンバーの時系列を表す数値です。たとえば、2016.AUG の場合、MONTHNUM は 8 です。

    ベースメンバーは、設定に応じて月または日とすることができます。

監査やフロー (S タイプディメンション) などのオプションディメンションが存在しない場合でも、外貨換算は正常に実行されます。ただしこれらが存在する場合、換算プロセスに影響します。この場合、これらのディメンションでは以下のプロパティが必須です。

ディメンション

プロパティ

説明

監査

DATASRC_TYPE

DATASRC_TYPE プロパティにより、監査メンバータイプが指定されます。以下の 4 つの値を利用できます。

  • I (入力)

  • M (マニュアル調整)

  • L (audit レベル、連結専用)

  • A (消去および調整)

監査

IS_CONVERTED

IS_CONVERTED プロパティが N または空白に設定されると、メンバーは換算で無視されます。Y に設定すると、メンバーは現地通貨から指定通貨に換算されます。

フロー

FLOW_TYPE

FLOW_TYPE プロパティには多様な値を設定できますが、最も重要な値は CLOSING です。FORCE_CLOSING = Y の外貨換算ルールで使用されます。

外貨換算をレポート通貨モードで実行するには、上記の必須条件が満たされる必要があります。監査やフロー (S タイプディメンション) などのオプションディメンションが存在する場合は、オプションディメンションの条件も必要となります。

グループモードで外貨換算を実行するには、レポート通貨モードの場合と同じ要件のほかに、以下の追加条件も満たす必要があります。

  • 持分比率モデルを設定し、参照する必要があります。

  • 移行された連結モデルでのみ、グループ情報は、個別のグループディメンションで更新する必要があります (旧バージョンから移行されたモデルを除きます。移行されたモデルでは、通貨ディメンションでグループを更新することができます)。

    通貨ディメンションを使用する場合、通貨およびグループ情報は同じディメンションに格納されます。通貨ディメンションでは、以下のプロパティが必要です。

    • ENTITY プロパティ。値は、空白または有効エンティティ ID にすることができます。これを使用して、グループとエンティティの間のリンクを定義するか、または集約を保存する必要があるエンティティを示します。(下記の STORE_ENTITY プロパティを参照してください。)

    • GROUP_CURRENCY プロパティ。このプロパティは、プロパティ CURRENCY_TYPE= GCURRENCY メンバーに対してのみ使用することができます。これには、プロパティ CURRENCY_TYPE = R の通貨ディメンションの有効な ID が含まれている必要があります。

    • STAGE_ONLY プロパティ。これにより、グループの複数レベルでの換算の場合に換算値を保存する方法が管理されます。値は、Y、E、または N (空白) の 3 つです。

    • STORE_ENTITY。値は、Y または空白にすることができます。これは、現グループの外貨換算結果が ENTITY プロパティで指定されたエンティティにコピーされるかどうかを示します。

    • STORE_GROUP_CURR。値は、Y または空白にすることができます。これは、外貨換算結果がグループ通貨で保存されるかどうかを示します。グループ通貨で保存されない場合、結果は通貨ではなくグループのみで保存されます。

    • PARENT_GROUP。このプロパティにより、連結階層が定義されます。このプロパティの値は、ディメンションの有効なグループ ID にする必要があります。

    通貨とグループが 1 つのディメンションにある場合は、グループに対して外貨換算を実行する前に、スクリプトファイルが以下のようになっていることを確認します。

    *RUN_PROGRAM CURR_CONVERSION

    CATEGORY = %C_CATEGORY_SET%

    GROUP= %GROUPS_SET%

    TID_RA = %TIME_SET%

    RATEENTITY = GLOBAL

    ......

    *ENDRUN_PROGRAM

    キーワード GROUP に注意します。グループモードで外貨換算を実行する場合は、CURRENCY ではなくキーワード GROUP を使用する必要があります。

    SAP Business Planning and Consolidation では、連結の構築時に、グループディメンションと通貨ディメンションの両方が必要となります。そのため、連結グループメンバーと通貨メンバーは別々に保持されます。

    グループなどの新しい専用ディメンションは、タイプ G にする必要があります。

時間プロパティを更新する際には、連結関連プログラムはベースメンバーに対して同じ年でのみ実行できることに注意してください。ベースメンバーの 'TIMEID'、'YEAR'、'PERIOD' および 'MONTHNUM’ の 4 つのプロパティは、これらのプログラムに影響を与えます。
  • 親ノードのプロパティは、これらのプログラムに影響を与えることはなく、これらの 4 つのプロパティの値を空白にすることはできません。

  • 'TIMEID’ の値は各ベースメンバーに対して一意である必要があります。

  • 'YEAR’ の値は各ベースメンバーに対して 4 桁である必要があります。

  • 'PERIOD’ の値は、同じ 'YEAR’ の各ベースメンバーに対して一意である必要があります。SAP では、'JAN'、'FEB’ などを月メンバーに使用し、'week01' または 'W01 を週メンバーに使用することをお奨めします。

  • 'MONTHNUM’ の値は、同じ 'YEAR’ の各ベースメンバーに対して一意である必要があります。その値は、同じ年の時系列を表す数値である必要があります。

  • DAY メンバーの例:

    ID

    PERIOD

    TIMEID

    MONTHNUM

    PARENTH1

    2016 年合計

    合計

    365

    2016 年第 1 四半期

    第 1 四半期

    90

    2016 年合計

    2016 年 1 月

    1 月

    031

    2016 年第 1 四半期

    2016.08.01

    DAY1

    20160801

    213

    2016 年 8 月

    2016.08.20

    DAY20

    20160820

    232

    2016 年 8 月

  • 以下は、2016 年 1 月 12 日のタイムディメンションの例です。

    ID

    TIMEID

    YEAR

    PERIOD

    MONTHNUM

    基準期間

    2016.1.12

    20160112

    2016

    D12

    012

    012