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 Funktionsrückgabe durch Durchlaufen der Liste mit Anweisungen erfolgt, 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-, Rechen- 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; Rechen- und Datenbankknoten geben Daten an ihre Ausgangsterminals weiter.

In der folgenden Tabelle werden die Unterschiede bei der Verwendung der RETURN-Anweisung in Rechen-, Filter- und Datenbankknoten aufgezeigt.
  Rückgabewert Ergebnis
Rechenknoten:
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 Musternachricht 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 Replikation 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
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2005 Letzte Aktualisierung: Nov 17, 2005
ak05130_