Direkt zum Hauptbereich

Posts

Es werden Posts vom August, 2015 angezeigt.

Kleine SOQL Aufgabe zum Aufwärmen

Beschreibung
Aktuelle Währungsumrechnungskurse werden pro Tag in die Datenbank importiert.
Beispiel:
   1 USD =  0,9121 EUR
   am 07.08.2015

  1 Russicher Rubel = 0,0145 EUR
  am 06.08.2015

Es kann aber vorkommen, dass es keine Umrechnungskurse am aktuellen Tag zur Verfügung stehen.

Aufgabe
Hole mit einer SOQL Abfrage alle aktuellen Umrechnungskurse zu allen Währungen. Falls kein Umrechnunskurs zum heutigen Tag zur Verfügung steht, soll der letzte Umrechnuskurs genommen werden.


Lösung
Durch das Gruppieren von Währungscodes in Kombination mit der Aggregate-Funktion MAX() bekommt man alle relevanten Datensätze.

for(sObject sobj:[    Select Id, currencyCode__c, MAX(validDate__c)                                         FROM CurrencyTable__c                                         WHERE validDate__c <= TODAY                                         GROUP BY currencyCode__c, Id ]){                 String sCode = String.valueOf(sobj.get('currencyCode__c'));                 String s…