Oracle® Insurance Rules Palette
When stocks are exchanged using different currencies and one currency is the official currency of the country where the exchange quote is given, a direct exchange can be performed.
In order to perform a direct currency calculation, the following four pieces of information are required.
Originating Currency: the three letter currency code the amount is currently in.
Amount: a decimal that contains the number of units of Originating currency to be converted.
Target Currency: the three letter currency code the amount will be converted to.
Market Maker: the market maker that is being used for the current company or plan.
Exchange Date: the date that will be used to locate the exchange rate the system will use in the conversion exchange calculation.
Retrieve the exchange rate for the Originating currency and the Target currency supplied by the current Market Maker.
Retrieve the DirectTermIndicator for the current Market Maker and whatever currency is the TERMS currency from the Exchange Rate retrieved from the AsMarketMakerCurrency table.
If DirectTermIndicator is T, then direct, or American, terms are used in the quote. The quote is the number of BASE currency units needed for one unit of the TERMS currency.
If DirectTermsIndicator is F, then indirect, or European, terms are used in the quote. The quote is the number of TERMS currency units needed for one unit of the BASE currency.
Perform the currency conversion calculation to get the number of units in Target currency:
If the Target currency is the TERMS currency in the exchange rate, then the conversion is done by using the amount of Originating currency to BUY some number of BASE currency from the Market Maker. This is done using the following formula:
If Indirect: Amount * Offer Price = Number of units of Target Currency
If Direct: Amount / Offer Price = Number of units of Target Currency
If the Target currency is the BASE currency in the exchange rate, then the conversion is done by using the amount of Originating currency and SELLING it for some number of TERMS currency from the Market Maker. This is done using the following formula:
If Indirect: Amount / Bid Price = Number of units of Target currency
If Direct: Amount * Bid Price = Number of units of Target currency
Retrieve the CurrencyRoundPlaces and CurrencyRoundMethod values from the AsCurrency table for the Target currency and round the result. Rounding is described in detail later.
Exchange Rate Indirect Quote, USD/CAN
BASE Currency = USD
TERMS Currency = CAN
OFFER = 1.0018
BID = 1.0020
If converting 100000 USD to CAN then:
Originating currency = USD (the BASE currency in this example)
Target currency = CAN (the TERMS currency in this example)
Amount = 100,000
Currency Conversion = 100000 * 1.0018 = 100180.0000 CAN
If converting 100000 CAN to USD then:
Originating currency = CAN (the TERMS currency in this example)
Target currency = USD (the BASE currency in this example)
Amount = 100,000
Currency Conversion = 100000 / 1.0020 = 99800.3992 USD
Exchange Rate Direct Quote, USD/CAN
BASE Currency = USD
TERMS Currency = CAN
OFFER = .9985
BID = .9982
If converting 100000 USD to CAN then:
Originating currency = USD (the BASE currency in this example)
Target currency = CAN (the TERMS currency in this example)
Amount = 100,000
Currency Conversion = 100000 / .9985 = 100150.2254 CAN
If converting 100000 CAN to USD then:
Originating currency = CAN (the TERMS currency in this example)
Target currency = USD (the BASE currency in this example)
Amount = 100,000
Currency Conversion = 100000 * .9982 = 99820 USD
Copyright © 2009, 2015, Oracle and/or its affiliates. All rights reserved. Legal Notices