ナビゲーションに戻る

通貨および市場レートについて

PeopleSoft アプリケーションは、中核となる一連のオブジェクト (フィールド、テーブル、ワーク レコード、ページ、および PeopleCode 関数) に加え、PeopleSoft アプリケーション全体で通貨を換算し、市場レートの定義や保存を行うための一般的なアプローチをサポートする、標準的かつ推奨されるさまざまな手法や計算式を備えています。市場レートとは、通貨の為替レート、利率、または先物レートを表す一般的な用語です。

このセクションでは、次に関する概要を示します。

通貨データおよび市場レート データは、次のテーブルに格納されます。

  • CURRENCY_CD_TBL

    通貨コードのデータを格納します。

  • CURR_QUOTE_PNL

    通貨建値方法のデータを格納します。

  • RT_INDEX_TBL

    市場レート インデックスのデータを格納します。

  • RT_TYPE_TBL

    レート タイプのデータを格納します。

  • RT_RATE_TBL

    市場レートのデータを格納します。

3 通貨参照とは、2 通貨間の換算が 3 つ目の通貨によって行われるプロセスのことです。このプロセスは、ハイパーインフレが発生し、地元通貨への全ての換算がより安定的かつ強力な通貨で行われる場合に使用されることがあります。また、国内で通貨の切り上げが行われている場合にも使用されることがあります。

3 通貨参照をサポートするため、PeopleSoft システムは、特定の参照通貨を使用した 2 通貨の 3 通貨参照を定義する手段を備えています。実際の換算プロセスは、適切な為替レートを使用して、換算元の金額をまず参照通貨に変換し、それを換算先の通貨に変換するという 2 段階の手順で行われます。3 通貨参照のサポートはユーザー インターフェイスにも影響します。換算に伴い、2 つまたは 3 つの為替レートが関与するためです。3 通貨参照による換算を詳しく表示する際、ユーザーは次の 3 つの表示レートにアクセスします。

  • 換算元通貨を換算先通貨に変換するためのレート

  • 参照通貨を換算先通貨に変換するためのレート

  • 換算元通貨から換算先通貨への直接変換に必要なレートを示すクロス レート

3 通貨参照による換算でのクロス レートは通常、直接管理されるわけではありません。ユーザーは、3 通貨参照レートを構成する非 3 通貨参照レートを管理し、その後 3 通貨参照された為替レートを生成するプロセスを実行します。ただし、クロス レートは上書きできます。上書きすると、上書きされたクロス レートと同期するように、他のいずれかの為替レートが再計算されます。

たとえば、アメリカ ドルからフランス フランへの 3 通貨参照を使用した換算を実行するとします。この場合、アメリカ ドルからユーロへの表示レート (下の表の 1.25) およびユーロからフランス フランへのレート (下の表の 6.8) を直接管理します。その後、EOP_RATECALC アプリケーション エンジン プロセスを実行し、アメリカ ドルからフランス フランに換算するための 3 通貨参照レートを導出します。次の表はその結果を示しています。

通貨ペア

建値方法

建値単位

主表示レート

RATE_MULT

RATE_DIV

アメリカ ドルからユーロ

間接

1

1.25

1

1.25

ユーロからフランス フラン

直接

1

6.8

6.8

1

アメリカ ドルからフランス フラン

直接/3 通貨参照/ユーロ

1

5.44

6.8

1.25

実際の換算実行時、表示レートはまず為替の建値方法に基づいて RATE_MULT 値と RATE_DIV 値に変換されます。その後、市場レート データ テーブルに格納されている RATE_MULT 値と RATE_DIV 値を、これらの値に直接アクセスするか、ConvertCurrency PeopleCode 関数を呼び出すことにより、通貨換算式で使用します。

注: 特定のアプリケーションが 3 通貨参照による為替レートをどのように管理するかについては、対象アプリケーションのドキュメントを参照してください。

直接的および間接的な通貨建値方法が両方ともサポートされると、アプリケーションでの通貨換算式が複雑になる可能性があります。換算式での過剰な条件付きロジックを避けるため、PeopleSoft システムには、換算係数を格納するための 2 つのフィールド、RATE_MULT および RATE_DIV が用意されています。ここに入力するレートを表示レートと呼びます。表示レートは通常、建値方法に応じて RATE_MULT または RATE_DIV に格納されます。建値単位は、表示レートを含まないフィールドに格納されます。これにより、通貨換算式の一貫性が保たれます。

(換算元通貨 / RATE_DIV) × RATE_MULT = 換算先通貨

この計算式は、PeopleCode プログラムでオンライン プロセス向けの通貨換算に使用される他、SQR プロセスや COBOL プロセスでも使用されます。

次の表は、表示レートが通貨ペアの建値方法と建値単位に基づいて RATE_MULT や RATE_DIV にどのように変換されるかを表す、基本的な例をいくつか示しています。

通貨ペア

建値方法

建値単位

主表示レート

RATE_MULT

RATE_DIV

アメリカ ドルから英国ポンド

間接

1

1.6

1

1.6

英国ポンドからアメリカ ドル

直接

1

1.6

1.6

1

ドイツ マルクからスイス フラン

間接

100

119.335

100

119.335

スイス フランからドイツ マルク

直接

100

119.335

119.335

100

アメリカ ドルからユーロ

間接

1

1.25

1

1.25

ユーロからフランス フラン

直接

1

6.8

6.8

1

アメリカ ドルからフランス フラン

直接/3 通貨参照/ユーロ

1

5.44

6.8

1.25

フランス フランからユーロ

間接

1

6.8

1

6.8

ユーロからアメリカ ドル

直接

1

1.25

1.25

1

フランス フランからアメリカ ドル

間接/3 通貨参照/ユーロ

1

5.44

1.25

6.8

どの場合でも、変換方向に関係なく、通貨ペアの表示レートは同じです。これはビジネスの基準とも合致しています。直接的な建値レートの場合は表示レートを掛けるため、表示レートは RATE_MULT に格納され、1 (または建値単位) は RATE_DIV に格納されます。間接的な建値レートの場合は表示レートで割るため、表示レートは RATE_DIV に格納され、1 (または建値単位) は RATE_MULT に格納されます。

次に示すのは、建値単位と 3 通貨参照を組み込んだ直接および間接の建値の例です。

100 (アメリカ ドルから英国ポンド) (間接) = (100 アメリカ ドル / 1.6) × 1 = 62.50 英国ポンド

1000 (スイス フランからドイツ マルク) (直接、建値単位) = (1000 スイス フラン / 100) × 119.335 = 1193.35 ドイツ マルク

100 (アメリカ ドルからフランス フラン) (3 通貨参照) = (100 アメリカ ドル / 1.25) × 6.8 = 544 フランス フラン

ページ上に表示レートが示される各アプリケーションには、表示レートと関連する PeopleCode を格納するためのアプリケーション固有のワーク レコード (既存のワーク レコードも可) が必要です。このフィールドの名前は VISUAL_RATE です。ワーク レコードには、許容チェックの目的で元のレートを格納するためのフィールドも必要です。

アプリケーションは通常、RATE_MULT 値と RATE_DIV 値を格納するためのアプリケーション固有のテーブルをデータベースに備えています。

アプリケーション固有の PeopleCode では、ワーク レコード フィールドをフォーマットし、さまざまな状況で共通の関数を呼び出す必要があります (通貨または表示レートに対する RowInit や FieldChange など)。

関連項目:

PeopleTools: Global Technology

PeopleTools: PeopleCode Developer's Guide