Die SET-Anweisung

Die SET-Anweisung wird in drei verschiedenen Formaten verwendet. Bei den ersten beiden handelt es sich um Formate, die im Zusammenhang mit Indizes verwendet werden. Diese Indizes können dabei entweder durch den INDEXED BY - Zusatz an der OCCURS-Klausel (also im Zusammenhang mit Tabellen) oder durch die USAGE INDEX - Klausel (unabhängige Indizes) definiert worden sein:

1. Format:
SET
Indexname-1
Index-Datenfeld-1
Variable
TO
Indexname-2
Index-Datenfeld-2
Ganzzahl-2

Dieses Format entspricht der MOVE-Anweisung; jedoch mit dem Unterschied, daß bei SET das Empfangsfeld vor und das Sendefeld hinter dem 'TO' steht. Bei MOVE verhält es sich genau umgekehrt.

2. Format:
SET
Indexname
UP BY
DOWN BY
Variable
Ganzzahl

Hierbei handelt es sich um nichts anderes als eine Addition bzw. Subtraktion. Indexname wird entweder um die Ganzzahl oder den Inhalt der Variablen erhöht oder erniedrigt. Wie aus der Bezeichnung Ganzzahl hervor geht, darf hier nur mit ganzzahligen Werten 'gerechnet' werden.

3. Format:
SET
Bedingungsname
TO
TRUE
FALSE

Dieses Format entspricht der MOVE-Anweisung. Das mit dem Bedingungsnamen verknüpfte Literal (siehe Stufennummer 88) wird in die zugehörige Variable übertragen. Sollte der Bedingungsname mit mehreren Literalen verknüpft sein, so wird immer das erste Literal übertragen.
Beispiel:
                 :
DATA DIVISION.
  01 Beispiel PIC X.
  88 Treffer  VALUE "A" "B" "C".

                 :
                 :

PROCEDURE DIVISION.
  SET Treffer TO TRUE.


Hier wird das Zeichen "A" an die Bedingungsvariable 'Beispiel' übertragen.

...