Funktion aufrufen

Ein Funktionsaufruf ruft eine EGL-generierte Funktion oder eine Systemfunktion auf. Wenn die aufgerufene Funktion beendet ist, wird die Verarbeitung entweder mit der Anweisung fortgesetzt, die auf den Aufruf folgt, oder - in komplexen Fällen - mit dem Prozess, der in einem Ausdruck oder in einer Parameterliste als Nächstes benötigt wird.

Die Funktion kann mit dem Namen einer Bibliothek oder eines Pakets oder mit dem Schlüsselwort this qualifiziert werden. Weitere Informationen dazu, wann diese Qualifikationsmerkmale erforderlich sind, finden Sie in Geltungsbereich.

Sie können folgende Arten von Argumenten an eine Funktion übergeben:
  • Literal
  • Konstante
  • Variable
  • Komplexerer numerischer, Text- oder Datums-/Zeitausdruck, möglicherweise einschließlich eines Funktionsaufrufs oder einer Unterzeichenfolge
  • Verweisvariable oder Ausdruck, dessen Auswertung einen Verweis ergibt
Wenn die aufgerufene Funktion einen Wert zurückgibt, können Sie den Aufruf überall dort verwenden, wo Sie sonst den Wert verwenden, den die Funktion zurückgibt. Beispielsweise können Sie eine Funktion in einer bedingten Anweisung verwenden. Beispiel:
if(getCustomer())
   ...
end

Eine boolesche Funktion, die TRUE zurückgibt, oder eine numerische Funktion, die einen Wert ungleich null zurückgibt, besteht den Test.

Sie können ein Literal als Argument verwenden, wenn der Änderungswert für den Zugriff in oder inOut ist. (Hinweis: Wenn der Änderungswert inOut verwendet wird, wird das Argument so behandelt, als wäre der Änderungswert in wirksam.) Der EGL-generierte Code erstellt eine temporäre Variable des Parametertyps, initialisiert diese Variable mit dem Wert und übergibt sie an die Funktion.

Wenn der Parameter ein strukturierter Datensatz ist, muss auch das Argument ein strukturierter Datensatz sein.
  • Die folgenden Regeln gelten für strukturierte Datensätze, die nicht den Stereotyp BasicRecord haben:
    • Der Typ des Parameters und des Arguments müssen identisch sein.
    • Der Änderungswert für den Zugriff muss inOut sein.
  • Bei strukturierten Datensätzen mit dem Stereotyp BasicRecord kann der Typ von Parameter und Argument unterschiedlich:
    • Beim Zugriffsänderungswert in muss das übergebene Argument größer-gleich dem empfangenden Parameter sein.
    • Beim Zugriffsänderungswert Out oder inOut muss das übergebene Argument kleiner-gleich dem empfangenden Parameter sein.