Mit der Anweisung @END wird im L-Modus die aktuelle Arbeitsdatei verlassen. Es wird wieder in die Arbeitsdatei zurückgeschaltet, in der die @PROC-Anweisung gegeben wurde, mit der die jetzt aktuelle Arbeitsdatei eingestellt wurde. Im F-Modus bewirkt @END das Beenden des EDT-Laufs bzw. des Bildschirmdialogs.
Operation | Operanden | F-Modus, L-Modus |
@END | [comment] |
comment | Der Operand |
Zwischen dem Anweisungsnamen und einem evtl. angegebenen Operanden muss bei dieser Anweisung zwingend mindestens ein Leerzeichen angegeben werden.
Wird im L-Modus die Anweisung @END in der Arbeitsdatei 0 eingegeben, wird die Meldung EDT4939
ausgegeben. Im Stapelbetrieb und in EDT-Prozeduren wird anschließend die nächste Anweisung gelesen. Im Dialogbetrieb wird nach der Warnungsmeldung EDT4939
wie bei der @HALT-Anweisung ohne Operanden verfahren mit dem Unterschied, dass selbst bei gesetztem Auftragsschalter 4 die Abfragen EDT0900
und EDT0904
nicht unterdrückt werden.
Im F-Modus wird die Anweisung @END unabhängig von der aktuellen Arbeitsdatei stets wie @HALT ohne Operanden behandelt, d.h. der EDT-Lauf bzw. der Bildschirmdialog werden beendet, bei Aufruf des EDT als Unterprogramm wird in das rufende Programm zurückgekehrt (siehe @HALT-Anweisung).
Wurde die aktuelle Arbeitsdatei (ungleich 0) im L-Modus nicht über eine @PROC-Anweisung eingestellt, sondern mit @SETF bzw. implizit nach Wechsel aus dem F-Modus in den L-Modus, wird in die Arbeitsdatei 0 zurückgeschaltet.
Mit @END kann keine Arbeitsdatei zur aktuellen gemacht werden, in der eine @DO-Prozedur läuft (aktive Arbeitsdatei), dies wird mit der Meldung EDT4959
abgewiesen.
Beispiel 1
1. @PROC 1 ------------------------------------------------------- (1) 1. @ @SET #S1 = DATE 2. @ @SET #S2 = TIME ---------------------------------------- (2) 3. @ @PRINT #S1.-#S2 N 4. @END ---------------------------------------------------------- (3)
(1) | Es wird in die Arbeitsdatei 1 umgeschaltet. |
(2) | In die Arbeitsdatei 1 wird eine EDT-Prozedur eingegeben. |
(3) | Es wird in die Arbeitsdatei 0 zurückgekehrt. Die in Arbeitsdatei 1 stehende Prozedur kann mit @DO 1 aufgerufen werden. |
Beispiel 2
1. @PROC 7 ------------------------------------------------------- (1) 1. @PROC --------------------------------------------------------- (2) <07> 1. @ @SET #S7 = 'HIER SPRICHT PROC 7' 2. @ @PRINT #S7 3. @PROC 8 ------------------------------------------------------- (3) 1. @ @SET #S8 = 'HIER SPRICHT PROC 8' 2. @PROC USED <07> 1.0000 TO 2.0000 ------------------------------------------ (4) <08> 1.0000 TO 1.0000 2. @END ---------------------------------------------------------- (5) 3. @PROC --------------------------------------------------------- (6) <07> 3. @END ---------------------------------------------------------- (7) 1. @PROC --------------------------------------------------------- (8) <00>
(1) | Es wird in Arbeitsdatei 7 umgeschaltet. |
(2) | Abfrage der aktuellen Arbeitsdatei. |
(3) | Es wird in Arbeitsdatei 8 umgeschaltet. |
(4) | Arbeitsdateien 7 und 8 sind belegt. |
(5) | Der EDT kehrt wieder in die Arbeitsdatei 7 zurück (von hier aus wurde mit @PROC in die Arbeitsdatei 8 verzweigt). |
(6) | Die Abfrage der aktuellen Arbeitsdatei bestätigt die Rückkehr in die Arbeitsdatei 7. |
(7) | Es wird wieder in Arbeitsdatei 0 zurückgekehrt. |
(8) | Erneute Abfrage nach der aktiven Arbeitsdatei zeigt die Rückkehr in die Arbeitsdatei 0. |