RETURN-Anweisung

Die RETURN-Anweisung beendet die Verarbeitung. Der nächste Schritt richtet sich nach dem Programmierungskontext, in dem die RETURN-Anweisung ausgegeben wurde.

SYNTAX

Bei der Verwendung der RETURN-Anweisung in einer Funktion stoppt sie die Verarbeitung dieser Funktion und gibt die Steuerung an den aufrufenden Ausdruck zurück. Der Ausdruck (der vorhanden sein muss) wird ausgewertet und fungiert als Rückgabewert der Funktion. Wenn eine Funktion eine Rückgabe durchführt, indem sie die Anweisungsliste durchläuft, ist dies ein Fehler. Der Datentyp des zurückgegebenen Werts muss derselbe sein wie der in der Deklaration der Funktion.

Bei der Verwendung der RETURN-Anweisung in einer Prozedur stoppt sie die Verarbeitung dieser Prozedur und gibt die Steuerung an die aufrufende CALL-Anweisung zurück. Eine RETURN-Anweisung, die innerhalb einer Prozedur verwendet wird, darf keinen Ausdruck haben.

Wenn die RETURN-Anweisung in einem Hauptanschlusscode eines Filter-, Berechnungs- oder Datenbankknotens verwendet wird, so stoppt sie die Verarbeitung der ESQL des Knotens und übergibt die Steuerung an den nächsten Knoten. In solchen Fällen, in denen der Ausdruck vorhanden ist, muss dieser einen BOOLESCHEN Wert ergeben. In Fällen, in denen es keinen Ausdruck gibt, setzt ein Filterknoten einen UNKNOWN-Wert voraus und gibt Daten an sein UNKNOWN-Terminal weiter; Berechnungs- und Datenbankknoten geben Daten an ihre Ausgangsterminals weiter.

In der folgenden Tabelle werden die Unterschiede bei der Verwendung der RETURN-Anweisung in Berechnungs-, Filter- und Datenbankknoten aufgezeigt.
  Rückgabewert Ergebnis
Berechnungsknoten:
RETURN TRUE Nachricht an Ausgangsterminal weitergeben.
  FALSE Nicht weitergeben.
  UNKNOWN Nicht weitergeben.
RETURN;   Nachricht an Ausgangsterminal weitergeben.
Filterknoten:
RETURN TRUE Nachricht an TRUE-Terminal weitergeben.
  FALSE Nachricht an FALSE-Terminal weitergeben.
  UNKNOWN Nachricht an UNKNOWN-Terminal weitergeben.
RETURN;   Nachricht an UNKNOWN-Terminal weitergeben.
Datenbankknoten:
RETURN TRUE Nachricht an Ausgangsterminal weitergeben.
  FALSE Nicht weitergeben.
  UNKNOWN Nicht weitergeben.
RETURN;   Nachricht an Ausgangsterminal weitergeben.

Beispiel

Das folgende Beispiel, das auf Beispielnachricht basiert, zeigt, wie diese Anweisung verwendet werden kann:
-- Variablen deklarieren --
DECLARE a INT;
DECLARE PriceTotal FLOAT;
DECLARE NumItems INT;

-- Werte initialisieren --
SET a = 1;
SET NumItems = 0;
SET PriceTotal = 0.0;

-- Berechnen Sie den Wert des Auftrags, falls es sich jedoch um einen Großeinkauf handelt, --
-- muss der Auftrag anders gehandhabt werden (Rabatt gewährleisten); es muss also TRUE --
-- oder FALSE zurückgegeben werden, je nachdem, wie groß der Auftrag ist. --
WHILE a <= CARDINALITY(Invoice.Purchases.Item[a] DO
   SET NumItems = NumItems + Invoice.Purchases.Item[a].Quantity;
   SET PriceTotal = PriceTotal + Invoice.Purchases.Item[a].UnitPrice;
   SET a = a + 1;
             END;
RETURN PriceTotal/NumItems > 42;
Wenn der durchschnittliche Preis von Artikeln größer als 42 ist, wird TRUE zurückgegeben, andernfalls FALSE. Somit könnte ein Filterknoten Nachrichten, die günstige Artikel beschreiben, auf einem anderen Weg weiterleiten, als Nachrichten, die teure Artikel beschreiben.

Ein Beispiel für RETURN FALSE, um die implizite Weitergabe am Ende der Verarbeitung in einem Rechenknoten zu verhindern, finden Sie unter PROPAGATE-Anweisung.

Zugehörige Konzepte
Übersicht zu ESQL
Zugehörige Tasks
ESQL erstellen
Zugehörige Verweise
Rechenknoten (Compute)
Filterknoten
Syntaxdiagramme: verfügbare Typen
ESQL-Anweisungen
PROPAGATE-Anweisung
Beispielnachricht
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ak05130_