Die GO TO - Anweisung

Normalerweise wird ein Programm Zeile für Zeile abgearbeitet. Diese Reihenfolge kann durch die GO TO-Anweisung durchbrochen werden. Hierfür wird eine Sprungmarke im A-Bereich gesetzt, zu der das Programm hinter der GO TO-Anweisung 'gehen soll'. Es handelt sich also um SECTIONS oder Paragraphen. Der Compiler erkennt die Qualität als Sprungmarke dadurch, daß Cobol-Befehle im B-Bereich codiert werden, Paragraphen oder SECTION-Namen jedoch wie bereits erwähnt im A-Bereich.
Die Codierung stellt sich konkret wie folgt dar:

          :

     GO TO Sprungmarke.

          :

 Sprungmarke.
     DISPLAY "Ich bin gesprungen".

          :


Sprungverteiler
Man kann auch einen sog. Sprungverteiler an die GO TO-Anweisung anhängen. So werden beispielsweise verschiedene Sprungmarken abhängig von einem Wert in einer Variablen angesprungen. Wichtig ist dabei, daß der Wert ganzzahlig numerisch sein muß.

     05 Variable PIC S999 COMP.

          :

     GO TO Marke1 Marke2 Sprung
           DEPENDING ON Variable.
 Weiter.
     If ....
          :
          :

 Marke1.
     DISPLAY "Ich konnte nicht springen".
     GO TO Weiter.

 Marke2.
     DISPLAY "Ich wollte springen".
     GO TO Weiter.

 Sprung.
     DISPLAY "Ich bin gesprungen".
     GO TO Weiter.




An diesem Beispiel wird deutlich, warum der Umgang mit der GO TO-Anweisung so verpöhnt ist. Von der ersten GO TO-Anweisung wird zur entsprechenden Marke verwiesen (Variable=1 dann Marke1; wenn Variable=2 dann Marke2....). Damit das Programm dann nicht bei der nächsten Marke weiterläuft, benötigt man wiederum eine GO TO-Anweisung und so geht das dann beliebig weiter, was zu einem heilosen Chaos im Coding führt. Dieses Chaos ist gemeinhin als Spaghetti-Programmierung bekannt und zeugt von wenig Professionalität.

...