< Zurück | Weiter >

Lerneinheit 3: Service "Hypothekenberechnung" erstellen

Erstellen Sie einen dedizierten Service zur Berechnung der monatlichen Raten.

In dieser Lerneinheit erstellen Sie einen EGL-Serviceabschnitt, bei dem es sich um einen generierbaren Abschnitt handelt. Sie müssen jeden generierbaren Abschnitt in einer separaten Quellendatei speichern und der Name des Abschnitts muss mit dem Dateinamen identisch sein.

Serviceabschnitt erstellen

  1. Klicken Sie im Fenster Projektexplorer mit der rechten Maustaste auf MortgageServiceProject und klicken Sie dann auf Neu > Service.
  2. Geben Sie im Fenster Neuer EGL-Serviceabschnitt folgende Informationen ein:
    1. Geben Sie im Feld Paket den folgenden Namen ein:
      services
    2. Geben Sie im Feld Name der EGL-Quellendatei den folgenden Namen ein:
      MortgageCalculationService
      EGL fügt die Dateierweiterung .egl hinzu.
    3. Stellen Sie sicher, dass die Optionen Als Web-Service (SOAP) erstellen und Als Web-Service (REST) erstellen abgewählt sind, und lassen Sie das Feld Implementierte Schnittstellen leer.
      Im Fenster 'Neuer EGL-Serviceabschnitt' werden der Servicename und das Paket angezeigt.
  3. Klicken Sie auf Fertig stellen. EGL öffnet den neuen Serviceabschnitt im Editor.
  4. Entfernen Sie den Code aus der Datei und behalten Sie nur die folgenden Zeilen bei:
    package services;
    
    service MortgageCalculationService
    
    end
  5. Fügen Sie vor der Anweisung end die folgende Funktion hinzu:
    	function amortize(inputData MortgageCalculationResult inOut)
    		amt MONEY = inputData.loanAmount;
    		// convert to monthly rate
    		rate DECIMAL(10, 8) = (1 + inputData.interestRate / 1200);
    		// convert to months
    		term INT = (inputData.term * 12);
    
    		// calculate monthly payment amount
    		pmt MONEY = (amt * (rate - 1) * Mathlib.pow(rate, term)) /
    				(MathLib.pow(rate, term) - 1);
    		totalInterest MONEY = (pmt * term) - amt;
    		
    		// update result record
    		inputData.monthlyPayment = pmt;
    		inputData.interest = totalInterest;
    	end
    Wenn Sie Code aus den vorliegenden Anweisungen einfügen, ändert sich möglicherweise die Formatierung. Drücken Sie die Tastenkombination Strg+Umsch+F, um den Code neu zu formatieren. Sie können die Formatierungsregeln ändern, indem Sie auf Fenster > Benutzervorgaben > EGL > Editor > Formatierungsprogramm klicken.
    Anmerkung:
    EGL markiert jeden Codefehler mit einem roten X am linken Rand sowie mit einer wellenförmigen roten Linie unter dem Fehler. Wenn Sie den Cursor über das X bewegen, wird eine Fehlernachricht angezeigt.
    Fehler werden mit einer wellenförmigen roten Linie und mit einem roten X am Rand markiert.

    Da Sie noch keinen Typ mit der Bezeichnung MortgageCalculationResult definiert haben, kann EGL die Variable inputData nicht auf der Basis dieses Typs erstellen. Wenn Sie in der nächsten Übung diesen Satztyp erstellen, entfernt EGL die Fehlermarkierungen aus der Anzeige.

  6. Speichern Sie die Datei, indem Sie auf Datei > Speichern klicken.

Satzabschnitt erstellen

Die Funktion amortize() verwendet einen Datensatz namens MortgageCalculationResult. Sie können diesen Datensatz in derselben Datei definieren wie den Service.

So erstellen Sie den Satzabschnitt:

  1. Fügen Sie in der Datei MortgageCalculationService.egl nach der Funktion amortize() folgenden Code hinzu. Da der Datensatz ein Abschnitt ist, definieren Sie ihn außerhalb des Serviceabschnitts, also nach der letzten Anweisung end in der Datei:
    record MortgageCalculationResult
    	// user input
    	loanAmount MONEY;
    	interestRate DECIMAL(10,8);
    	term INT;
    
    	// calculated fields
    	monthlyPayment MONEY;
    	interest MONEY;
    end
  2. Speichern Sie die Datei. EGL dürfte keine weiteren Fehlermarkierungen im Code anzeigen. Sollten in Ihrer Quellendatei Fehler angezeigt werden, vergleichen Sie Ihren Code mit dem Inhalt der Datei im Abschnitt Fertiger Code für MortgageCalculationService.egl nach Lerneinheit 3. Beim Durcharbeiten des Lernprogramms werden möglicherweise diverse rote X neben dem Projekt oder einem der Ordner angezeigt, jedoch keine Fehler in der Datei selbst. Lösen Sie eine solche Situation durch Klicken auf Projekt > Bereinigen. Klicken Sie im Fenster Bereinigen auf Unten ausgewählte Projekte bereinigen und anschließend auf das entsprechende Projekt, beispielsweise MortgageServiceProject.
    MortgageServiceProject wird in der Liste ausgewählt.
    Klicken Sie auf OK. EGL erstellt das ausgewählte Projekt erneut und das rote X wird aus der Sicht 'Projektexplorer' entfernt.
  3. Schließen Sie die Datei, indem Sie auf der Registerkarte oben im Editor auf das X neben dem Dateinamen oder indem Sie auf Datei > Schließen klicken.

Prüfpunkt für die Lerneinheit

Sie haben gelernt, folgende Aufgaben durchzuführen:
  • EGL-Serviceabschnitt erstellen
  • EGL-Satzabschnitt erstellen und zu der Quellendatei des Service hinzufügen
  • Code auf Fehler prüfen

In der nächsten Lerneinheit erstellen Sie die Benutzerschnittstelle für das erste Anwendungsportlet.

< Zurück | Weiter >

Feedback