In this example I am using Yahoo's online currency converter to update the exchange rates table. An idea would be to put this code in a batch class, which you can schedule to run daily.
Additional information:
Microsoft provides a simple example on how to consume a web service. In their example they take a currency converter too.
http://www.microsoft.com/downloads/details.aspx?FamilyID=ef3a50d2-61c8-4ffc-bce8-2caf038f98cd&displaylang=en
The Microsoft whitepaper was written to illustrate on how to consume web services using references.
There are a lot of online services that provide exchange rates and methods to consume. Yahoo provides the days rates via the web services but not historical rates.
Other online services:
www.thomsonreuters.com,
www.oanda.com,
www.xe.com
static void YahooCurrencyUpdate(Args _args)
{
Currency currency;
ExchRates exchRates;
str uri;
str exchRate = "";
str fromCurrency, toCurrency;
System.Net.HttpWebRequest httpRequest = null;
System.Net.HttpWebResponse httpResponse = null;
CLRObject clro = null;
System.IO.Stream stream = null;
System.IO.StreamReader streamReader = null;
;
while select currency
{
fromCurrency = CompanyInfo::find().CurrencyCode;
toCurrency = currency.CurrencyCode;
uri = "http://finance.yahoo.com/d/quotes.csv?e=.csv&f=l1&s=" + fromCurrency + toCurrency + "=X";
try
{
new InteropPermission(InteropKind::ClrInterop).assert();
clro = System.Net.WebRequest::Create(uri);
httpRequest = clro;
httpResponse = httpRequest.GetResponse();
stream = httpResponse.GetResponseStream();
streamReader = new System.IO.StreamReader(stream);
exchRate = streamReader.ReadToEnd();
info(exchRate);
if (str2num(exchRate) > 0)
{
exchRates.initValue();
exchRates.CurrencyCode = toCurrency;
exchRates.FromDate = systemdateget();
exchRates.editExchRate(true, str2num(exchRate) * 100);
exchRates.insert();
}
CodeAccessPermission::revertAssert();
}
catch(Exception::CLRError)
{
throw error(AifUtil::getClrErrorMessage());
}
}
}
Additional information:
Microsoft provides a simple example on how to consume a web service. In their example they take a currency converter too.
http://www.microsoft.com/downloads/details.aspx?FamilyID=ef3a50d2-61c8-4ffc-bce8-2caf038f98cd&displaylang=en
The Microsoft whitepaper was written to illustrate on how to consume web services using references.
There are a lot of online services that provide exchange rates and methods to consume. Yahoo provides the days rates via the web services but not historical rates.
Other online services:
www.thomsonreuters.com,
www.oanda.com,
www.xe.com