Skip to main content

Get the latest exchange rates in Dynamics AX 2012 [Using X++]

Get the latest exchange rates in Dynamics AX 2012 Using X++

Below small snippet will help you to get the latest exchange rates as on today. 
I am using x-rates URL to pull the exchange rates for this example. 
Note: Please check and verify this web URL before using it [free source or not]. 

image 

static void SR_getExchangeRates(Args _args) 

int curPos, endPos, startPos; 
TextBuffer tb = new TextBuffer(); 
System.Net.WebRequest webRequest; 
System.Net.WebResponse webResponse; 
str page; 
System.IO.StreamReader streamReader; 
try 

webRequest = System.Net.WebRequest::Create("http://www.x-rates.com/d/INR/table.html"); 
// this will throw an webexception if cannot be reached. 
webResponse = webRequest.GetResponse(); 
streamReader = newSystem.IO.StreamReader(webResponse.GetResponseStream()); 
tb.setText(”); 
page = streamReader.ReadToEnd(); 
streamReader.Close(); 
tb.setText(page); 
curpos = 1
startPos = 1
tb.regularExpressions(false); 
tb.find(‘<a href="/d/INR/USD/graph120.html" class="menu">’, curpos); 
startpos = tb.matchPos(); 
tb.find(‘</a>&nbsp;</font></td>’, startpos); 
endpos = tb.matchPos(); 
page = tb.subStr(startpos, endpos – startpos); 
info(strFmt("1 USD = %1 INR",strreplace(page,‘<a href="/d/INR/USD/graph120.html" class="menu">’,”))); 
// Close the webResonse 
webResponse.Close(); 

catch(Exception::CLRError) 

throw error(AifUtil::getClrErrorMessage()); 


Below is the output: 

image 

You can integrating the exchange rates in to the tablesExchangeRate , ExchangeRateType ,ExchangeRateCurrencyPair 

To get exchange rates for other currencies you may need to modify the URL  as shown below. [Change INR to EUR etc.] 


image 

Enjoy...........

Comments

Popular posts from this blog

Process of Sales order in Technical terms in D365Fo

 ðŸ”¥ Sales Order Technical Flow in D365FO (Creation → Confirmation → Picking → Packing Slip → Invoice → Accounting) 1. Sales Order Creation Tables SalesTable → SO header SalesLine → SO lines CustTable → Customer master InventDim / InventDimCombination → Dimensions InventTable / EcoResProduct → Item master Framework Classes SalesTableType / SalesLineType Responsible for validation, defaulting, creation logic Key Methods SalesTable.initValue() SalesLine.initFromSalesTable() SalesTable.validateWrite() SalesLine.validateWrite() Events (Extensions) SalesTableType.createSalesTable() SalesLineType.createSalesLine() 2. Reservation (Optional) If reservation is done: Tables InventTrans (Reservation status) InventReservation Classes InventUpd_Reservation InventTransReservation Reservations impact picking and inventory availability. 3. Sales Order Confirmation Confirms order and freezes price/quantity. Posti...

Top 200 Q&A in D365FO Technical

  SECTION 1 — X++ BASICS (10 Q&A) 1. What is X++? A proprietary object-oriented language used in Dynamics 365 Finance & Operations for business logic, similar to C# but integrated with D365 runtime. 2. What is a TableBuffer? It is an in-memory object referencing a table. Example: CustTable custTable; 3. What is difference between select and select firstonly ? select → returns all matching rows firstonly → returns only the first matched row 4. What is ttsbegin & ttscommit ? Used to wrap database transactions; ensures atomicity. 5. Can we write SQL queries directly in X++? No. X++ uses a database-abstracted select statement. 6. What is a container? A collection datatype used to store mixed data types. 7. Difference between container and map? Map stores key-value pairs; container is indexed and immutable. 8. What is a temp table? A table that stores data temporarily in memory or database depending on property. 9. What is recursion in X++? A method c...

Process of Purchase order in Technical terms in D365Fo

  Purchase Order Technical Flow in D365FO (Step-by-Step) (From creation → approval workflow → posting → product receipt → invoice → accounting) 1. Purchase Order Creation Tables involved PurchTable → PO header PurchLine → PO lines VendTable → Vendor master InventDim / InventDimCombination → Item dimensions EcoResProduct / InventTable → Item master Classes / Framework PurchTableType / PurchLineType Framework that controls creation, validation, defaulting. Key methods PurchTable.initValue() PurchLine.initFromPurchTable() PurchTable.validateWrite() PurchLine.validateWrite() Events (Extension points) PurchTableType.createPurchTable() PurchLineType.createPurchLine() 2. Purchase Order Confirmation Document Status update PurchTable.DocumentState → Confirmation PurchParmBuffer tables used for versioning. Posting Class PurchFormLetter_Confirm Called internally via PurchFormLetter::construct(DocumentStatus::Co...