Tip #2: Zwei Code-Häppchen für besseres Apex
Währungsumrechungsfehler vermeiden und ganz viele sOQL
Abfragen sparen mit OOP- und schema
-basierten RecordType-Management auf Apex-Level.
OOP-optimiertes RecordType Management
RecordType statt RecordTypeId
static void insertCase(){
Case aCase = new Case(
Subject = 'Ich brauche Hilfe',
RecordType = new RecordType ( Name = 'Support Case'),
);
insert aCase;
}
@istest
static void verifyRecordType(){
System.AssertEquals(
[select id, RecordTypeId from Case where Subject='Ich brauche Hilfe' Limit 1].RecordTypeId,
[Select Id from RecordType where Developername='Support_Case' AND sSobjectType = 'Case'].Id,
'Case failed RecordType Assignment');
}
Fazit:
- Zusammen mit einem
schema
-basierten Ansatz, wie in der Dokumentation zu finden, steht schlankem, sQOL-optimiertem Apex-RecordType-Handling nichts im Weg. RecordType.Name
ist wichtiger alsRecordType.Developername
Umrechnungsfehler bei Währungen vermeiden
convertCurrency()
bekommt Alias in Spring 16
SELECT Id, convertCurrency(Jahresumsatz__c) JahresumsatzInEUR
FROM Account
Info:
- Der ausführende User bestimmt, in welcher Währung das Ergebnis angezeigt wird.
- Durch den Alias läßt sich versehentliches Überschreiben eines Wertes in USD durch den umgerechneten Wert in EUR auf API-Level besser vermeiden.
Quelle: https://releasenotes.docs.salesforce.com/en-us/spring16/release-notes/rn_api\_soql.htm