Skip to main content
Build the future with Agentforce at TDX in San Francisco or on Salesforce+ on March 5–6. Register now.

Schreiben von Geschäftslogik in Apex

Hinweis

Hinweis

Lernen Sie auf Deutsch? Beginnen Sie die Aufgabe in einem Trailhead Playground in der Sprache Deutsch und verwenden Sie für die Navigation die in Klammern angegebenen Übersetzungen. Kopieren und fügen Sie nur die Angaben in Englisch ein, da zur Überprüfung der Aufgabe Daten in Englisch benötigt werden. Wenn Sie die Aufgabe in Ihrer deutschen Organisation nicht bestehen, empfehlen wir Ihnen folgende Vorgehensweise: (1) Stellen Sie das Gebietsschema auf USA um, (2) legen Sie Englisch als Sprache fest (Anweisungen dazu finden Sie hier) und (3) klicken Sie erneut auf die Schaltfläche "Check Challenge" (Aufgabe überprüfen).

Weitere Details dazu, wie Sie die übersetzte Trailhead-Umgebung optimal nutzen können, finden Sie unter dem Badge "Trailhead in Ihrer Sprache".

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 einer geordneten Sammlung) 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

Teilen Sie Ihr Trailhead-Feedback über die Salesforce-Hilfe.

Wir würden uns sehr freuen, von Ihren Erfahrungen mit Trailhead zu hören: Sie können jetzt jederzeit über die Salesforce-Hilfe auf das neue Feedback-Formular zugreifen.

Weitere Infos Weiter zu "Feedback teilen"