Die Anweisung @RETURN wird in EDT-Prozeduren benutzt, um die Abarbeitung der Prozedur zu beenden und an die Stelle ihres Aufrufs zurückzukehren. Wird die Anweisung @RETURN außerhalb einer EDT-Prozedur gegeben, wird der EDT-Lauf bzw. der Bildschirmdialog nach @DIALOG beendet.
Operation | Operanden | F-Modus, L-Modus |
@RETURN | [message] |
message | Der Operand Der Operand |
Zwischen dem Anweisungsnamen und einem evtl. angegebenen Operanden muss bei dieser Anweisung zwingend mindestens ein Leerzeichen angegeben werden.
Wird die Anweisung @RETURN außerhalb einer EDT-Prozedur verwendet, wirkt sie wie @HALT (siehe @HALT-Anweisung).
Wird @RETURN in @DO- oder @INPUT-Prozeduren verwendet, wird die Abarbeitung der Prozedur abgebrochen und dort weitergearbeitet, wo der Prozeduraufruf erfolgte. Der Operand message
wird in diesem Fall ignoriert.
Hinweis
Eine @RETURN-Anweisung in einer @DO-Prozedur bricht auch eine äußere Schleife ab, d.h. die Prozedur wird dann nicht so oft ausgeführt, wie durch Anfangswert, Endwert und Schrittweite des Schleifenzählers in der @DO-Anweisung spezifiziert ist (siehe Abschnitt „EDT-Prozeduren“ und @DO-Anweisung).
Beispiel 1
1. @PROC 6 ------------------------------------------------------- (1) 1. @ @SET #S1 = 'ICH BIN #S1' 2. @ @SET #S2 = 'ICH BIN #S2' 3. @ @PRINT #S1 4. @ @RETURN ----------------------------------------------------- (2) 5. @ @PRINT #S2 6. @END ---------------------------------------------------------- (3) 1. @DO 6 --------------------------------------------------------- (4) #S01 ICH BIN #S1
(1) | Die Arbeitsdatei 6 wird zur Bearbeitung geöffnet. |
(2) | Kommt es beim Ausführen der Prozedur in Arbeitsdatei 6 zu dieser Anweisung, werden die nachfolgenden Anweisungen nicht mehr ausgeführt. |
(3) | Die Bearbeitung der Arbeitsdatei 6 wird beendet. |
(4) | Die Prozedur wird ausgeführt. |
Beispiel 2
1. AAAA 2. BBBB 3. CCCC 4. @PROC 7 ------------------------------------------------------- (1) 1. @ @PRINT ! ---------------------------------------------------- (2) 2. @ @RETURN ----------------------------------------------------- (3) 3. @END 4. @DO 7,!=%,$ --------------------------------------------------- (4) 1.0000 AAAA 4.
(1) | Die Prozedur wird in der Arbeitsdatei 7 erstellt. |
(2) | Beim Ausführen der Anweisungen der Prozedur soll die über den Schleifenzähler ! angesprochene Zeile ausgegeben werden. |
(3) | Die Ausführung der Anweisungen der Prozedur wird an dieser Stelle unterbrochen, egal ob der Schleifenzähler ! bereits die obere Grenze erreicht hat oder nicht. |
(4) | Die Prozedur wird aufgerufen. Dabei soll der Schleifenzähler ! die Werte 1 bis 3 (%=1, $=3) annehmen. Wegen des in der Prozedur stehenden @RETURN kommt es jedoch nicht zu einem Hochzählen des Schleifenzählers. |