Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Unbedingte und bedingte Sprünge

&pagelevel(4)&pagelevel

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 2 die Zeilennummer 1.00 und implizit die Schrittweite 0.01 eingestellt. Das Gleiche gilt sinngemäß für die anderen @SET-Anweisungen.

(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 5 gekennzeichnet.

(03)

Mit @IF wird überprüft, ob es Treffer gibt, falls ja wird zu Zeile 2.00 verzweigt.

(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.