Mit der @GOTO-Anweisung wird in einer @DO-Prozedur auf eine Zeile verzweigt. Die Zeilennummer wird in @GOTO angegeben. Die Zeile muss existieren und darf nicht außerhalb der Prozedur liegen.
Mit der @IF-Anweisung mit angegebener @GOTO-Anweisung kann in einer @DO-Prozedur in Abhängigkeit von einer Bedingung verzweigt werden. Ist die Bedingung erfüllt, so wird auf die Zeile verzweigt, die in der @GOTO-Anweisung angegeben ist. Ist die Bedingung nicht erfüllt, wird die Prozedur mit der Anweisung, die unmittelbar auf die @IF-Anweisung folgt, fortgesetzt.
Um mögliche Verschiebungen der Zeilen bei Änderungen der Prozedur zu vermeiden, sollten vor den Sprungzielen die Zeilennummern mit @SET, Format 6 (wegen besserer Lesbarkeit abgekürzt mit @) neu bestimmt werden (siehe auch Beispiel).
Innerhalb einer @INPUT-Prozedur sind Sprünge nicht erlaubt.
Beispiel für unbedingte und bedingte Sprünge
@PROC 2 @DELETE @1.00 ---------------------------------------------------------------- (01) @ @CONTINUE *** AB HIER ZEILENNUMMER 1.00 *** @ @CREATE #S1 READ 'BITTE SUCHBEGRIFF EINGEBEN: ' -------------------- (02) @ @ON & FIND #S1 MARK 5 @ @IF .TRUE. @GOTO 2 ------------------------------------------------- (03) @ @CREATE #S2: 'KEIN TREFFER GEFUNDEN' @ @PRINT #S2 @ @GOTO 3 ------------------------------------------------------------ (04) @2.00 @ @CONTINUE *** AB HIER ZEILENNUMMER 2.00 *** @ @DELETE MARK 5 @ @ON & PRINT #S1 ---------------------------------------------------- (05) @3.00 @ @CONTINUE *** AB HIER ZEILENNUMMER 3.00 *** @END
(01) | Mit der Anweisung @1.00 wird in der Arbeitsdatei |
(02) | Mit @CREATE...READ wird die Eingabe eines Suchbegriffs vom Benutzer angefordert. In der Folgezeile werden alle Zeilen, die den Suchbegriff enthalten, mit der Satzmarkierung |
(03) | Mit @IF wird überprüft, ob es Treffer gibt, falls ja wird zu Zeile |
(04) | Im Falle, dass es keine Treffer gab, wird die entsprechende Meldung ausgegeben und zum Ende der Prozedur verzweigt. |
(05) | Im Trefferfall wird die Satzmarkierung gelöscht und die Trefferzeilen werden ausgegeben. |
Die Zeilen mit zwei aufeinander folgenden Anweisungssymbolen werden wieder in die Arbeitsdatei 2
in die über die @-Anweisung bestimmten Zeilen eingelesen. Die EDT-Prozedur lässt sich anschließend mit @DO 2 ausführen.