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 Gültigkeitsbereich.
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.