Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

@RETURN - Rückkehr aus EDT-Prozeduren

&pagelevel(3)&pagelevel

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 message kann beliebigen Text enthalten, der bei Aufruf des
EDT als Unterprogramm an das aufrufende Programm übergeben wird.

Der Operand message darf nur bei Aufruf des EDT über die Unterpro-
gramm-Schnittstelle bzw. bei Rückkehr aus einer EDT-Prozedur
angegeben werden.

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 (%=1, $=3) annehmen. Wegen des in der Prozedur stehenden @RETURN kommt es jedoch nicht zu einem Hochzählen des Schleifenzählers.