Em algumas situações as empresas precisam ter sua taxa de câmbio atualizadas todos os dias, ou em algumas vezes até diversas vezes ao dia. Vi essa solução em um artigo a algum tempo atrás, não achei mais o artigo, precisei usar e acabei reescrevendo/adaptando o que eu havia visto e estou postando.

A solução abaixo necessita de um webservice que devolva o valor do câmbio a partir de duas moedas, no nosso caso vamos usar o webservice www.webservicex.net que nos atenderá.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
static void GetExchangeRates(Args _args)
{
    COM                   objCom            = new com('Microsoft.Xmlhttp');
    COM                   objComXML;
    XMLDocument           xmlDoc;
    str url;
    #define.localCurrency('BRL')
    #define.foreignCurrency('USD')
    ;
 
    url     = strfmt("http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency=%1&ToCurrency=%2", #foreignCurrency, #localCurrency);
    objCom.open("GET", url, false);
    objCom.send();
    objComXML = objCom.responsexml();
    xmlDoc = XmlDocument::newXml(objComXML.xml());
    info(strfmt("1 %2 = %1 %3", xmlDoc.getNamedElement('double').text(), #foreignCurrency, #localCurrency));
}

[]s
Pichler