Skip to main content

Schreiben von Geschäftslogik in Apex

Hinweis

Hinweis

Lernen Sie auf Deutsch? In diesem Badge ist für die praktischen Trailhead-Aufgaben Englisch als Bearbeitungssprache festgelegt. Übersetzungen werden zur Referenz in Klammern angegeben. Vergewissern Sie sich, dass Sie in Ihrem Trailhead-Playground (1) das Gebietsschema auf USA und (2) die Sprache auf Englisch festgelegt haben. (3) Verwenden Sie zum Kopieren und Einfügen nur die englischen Werte. Die zugehörigen Anweisungen finden Sie hier.

Im Badge Trailhead in Ihrer Sprache erfahren Sie, wie Sie die übersetzte Trailhead-Umgebung nutzen.

Nachvollziehen der Schritte aus "Trail Together"

Möchten Sie bei diesem Schritt einem Experten folgen? Sehen Sie sich dieses Video an, das zur Serie "Trail Together" gehört.

(Dieser Clip startet bei der Minutenmarke 34:00, falls Sie zurückspulen und sich den Anfang des Schritts erneut ansehen möchten.)

Einführung

Apex ist die stark typisierte, objektorientierte Programmiersprache, die für die Ausführung in der mandantenfähigen Salesforce-Architektur optimiert ist. Apex ermöglicht es Entwicklern, komplexe Back-End-Geschäftsprozesse zu automatisieren und wird zu Java-Bytecode kompiliert.

Die Sprache Apex wurde für die Interaktion mit Salesforce-Daten optimiert und ist eng in die Salesforce-Persistenzschicht integriert. Apex bietet SOQL (Salesforce Object Query Language), ähnlich wie SQL, für die Ausführung von Abfragen und DML-Anweisungen (Data Manipulation Language) für die Durchführung von Datenbankoperationen mit den zuvor erstellten Objekten.

Erstellen und Bereitstellen der Apex-Klasse

  1. Klicken Sie in Visual Studio Code unter force-app/main/default mit der rechten Maustaste auf classes, und wählen Sie SFDX: Create Apex Class (SFDX: Apex-Klasse erstellen) aus.
    SFDX: Auswahl von 'Create Apex Class'.
  2. Benennen Sie in der Befehlspalette von Visual Studio Code die Klasse HouseService. Klicken Sie auf Eingabe | Eingabe.
  3. Ersetzen Sie den Inhalt der Datei durch den folgenden Code.
    public with sharing class HouseService {
        @AuraEnabled(cacheable=true)
        public static List<House__c> getRecords() { 
            try {
                // Create a list of House records from a SOQL query
                List<House__c> lstHouses = [
                    SELECT
                       Id,
                       Name,
                       Address__c,
                       State__c, 
                       City__c,
                       Zip__c
                       FROM House__c
                       WITH USER_MODE
                       ORDER BY CreatedDate
                       LIMIT 10
                    ];
                      return lstHouses;
            }
            // Code to handle exception
            catch (Exception e) {
               throw new AuraHandledException(e.getMessage());
            }
        }
    }  
      
    Code Highlights Mit diesem Code erstellen Sie eine Klasse HouseService, die über eine Methode mit dem Namen getRecords verfügt. Die Methode gibt die Liste der Hausdatensätze (in Form eines Arrays) zurück, indem sie das House__c-Objekt abfragt.
    Beachten Sie, dass Sie in der Apex-Klasse HouseService automatisch das Objekt (House__c), das Sie zuvor erstellt hatten (in Schritt 2) als eine Klasse vorkommen lassen, ohne dazu eine Klassendatei erstellt zu haben. Darüber hinaus können Sie auf die Felder im Objekt "House__c" als Eigenschaften verweisen, ohne sie zuvor deklarieren zu müssen.
    Wir haben SOQL verwendet, um unsere Abfragen zu schreiben, die auf das Objekt und die Felder des Objekts verweisen. Die Abfrage lässt sich kompilieren und durchläuft daher zur Kompilierzeit eine Typprüfung.
    Sie haben eine enge Kopplung zwischen dem Datenmodell und der Apex-Klasse hergestellt. Jetzt lässt sich der Code effektiv nicht mehr zerstören, denn er lässt sich nicht kompilieren, wenn Sie eine zum Datenmodell inkonsistente Codeänderung vornehmen.
  4. Speichern Sie diese Datei.
  5. Klicken Sie mit der rechten Maustaste auf HouseService.cls, und wählen Sie SFDX: Deploy This Source to Org (SFDX: Diese Quelle in der Organisation bereitstellen) aus. Es wird eine Bestätigungsmeldung angezeigt, dass die Apex-Klasse erfolgreich in der Organisation bereitgestellt wurde. Durch die Bereitstellung Ihres Codes wird er zugleich auf dem Server kompiliert.
    Bereitstellen der Quelle in der ausgewählten Salesforce-Organisation.

Testen Sie nun mit einem anonymen Skript, ob diese Klasse wie erwartet Abfrageergebnisse zurückgibt. Ein anonymes Skript ist Apex-Code, der nicht in den Metadaten gespeichert wird, aber kompiliert und ausgeführt werden kann.

Führen Sie die Schritte unten aus, um ein anonymes Skript für den Test zu erstellen.

  1. Erstellen Sie eine neue Datei mit dem Namen dreamhouseappTest.apex im Ordner scripts/apex.
  2. Ersetzen Sie den Inhalt der Datei durch den folgenden Code: System.debug(HouseService.getRecords());
  3. Klicken Sie auf Code Lens Execute Anonymous Apex (Anonymen Apex-Code ausführen), der im Screenshot unten pink hervorgehoben ist.
    'Execute Anonymous Apex'-Code Lens zur Ausführung eines Apex-Skripts.
    Wenn die von Ihnen geschriebenen Apex-Klasse funktionstüchtig ist, sehen Sie die Abfrageergebnisse im unten abgebildeten Ausgabebereich.Ausgabebereich mit Darstellung der Abfrageergebnisse nach der Ausführung des Apex-Skripts.

Apex ist speziell für die Funktion mit Geschäftsanwendungen, die gut mit Salesforce zusammenarbeiten, konzipiert, optimiert und eng integriert. Es schlägt bei der Kompilierung leicht fehl, falls irgendwelche Verweise ungültig sind.

Durch die direkte Integration mit der Persistenzschicht von Salesforce und die integrierte Unterstützung für das direkte Arbeiten mit Salesforce-Daten ohne Notwendigkeit für zusätzliche Datenebenen können Sie produktiver arbeiten. Darüber hinaus fördert Apex automatisch gute Programmiertechniken durch die Durchsetzung von Obergrenzen und Testanforderungen.

Ressourcen

Lernen Sie weiter kostenlos!
Registrieren Sie sich für einen Account, um fortzufahren.
Was ist für Sie drin?
  • Holen Sie sich personalisierte Empfehlungen für Ihre Karriereplanung
  • Erproben Sie Ihre Fähigkeiten mithilfe praktischer Aufgaben und Quizze
  • Verfolgen Sie Ihre Fortschritte nach und teilen Sie sie mit Arbeitgebern
  • Nutzen Sie Mentoren und Karrierechancen