GlideCurrencyConverter: スコープ対象
GlideCurrencyConverter API は、米ドルをヨーロッパユーロに変換するなど、ある通貨値を別の通貨値に変換するメソッドを提供します。
GlideCurrencyConverter オブジェクトをインスタンス化し、 GlideCurrencyConverter(from, to) を使用してインスタンス化中にソース通貨と宛先通貨を定義できます。これらの値なしでオブジェクトをインスタンス化し、 後で setFromCurrency() メソッドと setToCurrency() メソッドを使用して定義することもできます。これらの値と換算する金額は、 convert() メソッドを呼び出して通貨換算を実行する前に設定する必要があります。変換する金額を設定するには、 setAmount() メソッドを使用します。
- 変換を実行する日時 setDateTime() を設定します。日付と時刻を設定すると、換算計算に使用されるレートは、現在の日付と時刻のデフォルトではなく、指定された日時のレートになります。
- 変換で使用するレートテーブル setRateTable() を設定します。デフォルトでは、変換はfx_system_rateテーブルを使用しますが、インスタンスのカスタムレートテーブルを定義できます。レートテーブルの作成の詳細については、「 カスタムレートテーブルを使用した換算レートの追加」を参照してください。
このクラスの実行は、 sn_currency 名前空間にあります。
GlideCurrencyConverter:GlideCurrencyConverter()
GlideCurrencyConverter オブジェクトをインスタンス化します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
この例は、メソッドを呼び出す方法を示しています。
var conv = new sn_currency.GlideCurrencyConverter();
GlideCurrencyConverter - GlideCurrencyConverter(文字列 from, 文字列 to)
GlideCurrencyConverter オブジェクトをインスタンス化し、通貨換算で使用する送信元と宛先の国コードを設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 送信元 | 文字列 | ソース通貨の 3 文字の ISO 3166 国コード。 |
| ~ | 文字列 | 換算通貨の 3 文字の ISO 3166 国コード。 |
この例は、メソッドを呼び出す方法を示しています。
var conv = new sn_currency.GlideCurrencyConverter('EUR', 'USD');
GlideCurrencyConverter - convert()
通貨換算を実行します。
通貨換算を構成する他の GlideCurrencyConverter メソッド (setAmount()、setRateTable()、setDate() など) を呼び出した後に、このメソッドを呼び出します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| オブジェクト | 変換が成功した場合は、CurrencyExchangeValue オブジェクトを返します。失敗した場合は「null」を返します。
Rate:番号。換算に使用される為替レート。 OriginalAmount:番号。ソース通貨金額。 Amount:番号。換算額 (OriginalAmount * Rate)。 fromCurrency:文字列。ソース通貨の 3 文字の ISO 3166 国コード。 toCurrency:文字列。換算通貨の 3 文字の ISO 3166 国コード。 rateSysId:文字列。変換の計算に使用されるレートテーブルレコードのSys_id。 |
この例は、メソッドを呼び出す方法を示しています。
var conv = new sn_currency.GlideCurrencyConverter('EUR', 'USD');
conv.setAmount(100);
gs.info(conv.convert());
出力:
CurrencyExchangeValue{Rate = 1.0777, OriginalAmount = 100, Amount = 107.7700, fromCurrency = 'EUR', toCurrency = 'USD', rateSysId = '2ed537fcb271937adb'}
GlideCurrencyConverter:setAmount(文字列金額)
換算する通貨の金額を設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 総計 | 文字列 | 換算する通貨金額。この値は、端数通貨を示すために、小数点を除いて書式設定されていない必要があります。たとえば、1234.56 は有効で、1,234.56 は無効です。 |
| タイプ | 説明 |
|---|---|
| なし |
この例は、メソッドを呼び出す方法を示しています。
var conv = new sn_currency.GlideCurrencyConverter('EUR', 'USD');
conv.setAmount(100);
GlideCurrencyConverter - setDateTime(オブジェクト日付)
通貨換算日時を設定します。
この日時によって、通貨の換算に使用される換算レートが決まります。このメソッドが GlideCurrencyConverter.convert() メソッドの前に呼び出されない場合、換算は現在の日付/時刻のレートを使用して実行されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| date | GlideDateTime | 通貨換算を計算する日付/時刻。この値は、変換に使用されるレートを決定します。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、このメソッドを呼び出す方法を示しています。
var conv = new sn_currency.GlideCurrencyConverter('EUR', 'USD');
conv.setAmount(100);
var gd = new GlideDateTime("2019-01-03 11:00:00");
conv.setDateTime(gd);
gs.info(conv.convert());
出力:
CurrencyExchangeValue{fOriginalAmount=100, fOriginalCurrency='EUR', fRate=1.061, fAmount=106.1, fCurrency='USD', fRateSysId='4555525f5553445f3130303030313031'}
GlideCurrencyConverter:setFromCurrency(文字列元)
ソース通貨の国コードを設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 送信元 | 文字列 | ソース通貨の 3 文字の ISO 3166 国コード。 |
| タイプ | 説明 |
|---|---|
| なし |
この例は、メソッドを呼び出す方法を示しています。
var conv = new sn_currency.GlideCurrencyConverter().setFromCurrency('FRA');
GlideCurrencyConverter:setRateTable(文字列 rateTable)
通貨換算で使用するレートテーブルを定義します。
GlideCurrencyConverter.convert() メソッドが呼び出される前にこのメソッドが呼び出されない場合、変換はfx_system_rateテーブルを使用して実行されます。すべてのカスタムレートテーブルは、fx_conversion_rateテーブルを拡張する必要があります。レートテーブルの作成の詳細については、「 カスタムレートテーブルを使用した換算レートの追加」を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| レートテーブル | 文字列 | 通貨換算で使用するレートテーブルの名前。 |
| タイプ | 説明 |
|---|---|
| なし |
この例は、メソッドを呼び出す方法を示しています。
var conv = new sn_currency.GlideCurrencyConverter('EUR', 'USD');
conv.setRateTable(custom_rate_table);
GlideCurrencyConverter:setToCurrency(文字列先)
宛先通貨の国コードを設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| ~ | 文字列 | ソース通貨の 3 文字の ISO 3166 国コード。 |
| タイプ | 説明 |
|---|---|
| なし |
この例は、メソッドを呼び出す方法を示しています。
var conv = new sn_currency.GlideCurrencyConverter().setToCurrency('USA');