2.4.32 SET
| | | | | |
Format1:
SET Indexname1 [Indexname2 ...] { TO / {UP / DOWN} BY } Datenfeld
| |
| | | |
Die angegebenen Indexnamen werden um den angegebenen Wert (Datenfeld) erhöht (UP BY), erniedrigt (DOWN BY) oder auf den Wert des Datenfeldes gesetzt (TO).
Bei der Änderung der Indexwerte werden die Grenzen, wie sie in der OCCURS - Klausel angegeben werden, nicht überprüft!
Diese Überprüfung wird erst beim Ansprechen von indizierten Feldern mit diesem Index vorgenommen und können zu folgenden Programmfehlern führen:
PERR 143 Index zu klein
PERR 144 Index zu groß
Beispielprogramm für SET
Anzeige aller Tage der Woche am Bildschirm.
Working-Storage Section.
01 Tage.
02 Filler pic x(10) value 'Montag'.
02 Filler pic x(10) value 'Dienstag'.
02 Filler pic x(10) value 'Mittwoch'.
02 Filler pic x(10) value 'Donnerstag'.
02 Filler pic x(10) value 'Freitag'.
02 Filler pic x(10) value 'Samstag'.
02 Filler pic x(10) value 'Sonntag'.
01 Wtage redefines Tage.
02 Wtag pic x(10) occurs 7 indexe Itag.
Procedure Division.
Set Itag to 1.
Loop.
Display Wtag (Itag)
Set Itag up by 1
If Itag < 8 go to Loop
| | | | | |
Format2:
SET 88-Feld TO / {TRUE / FALSE}
| |
| | | |
Mit diesem Format können Felder die eine 88-Stufe besitzen initialisiert werden.
Bei der Angabe von TRUE wird das erste Value der 88-Stufe in das Testfeld übertragen.
Bei der Angabe von FALSE muß die 88-Stufe mit der KlauselWHEN FALSE deklariert worden sein, sonst ist das Ergebnis undefiniert.
Beispiel:
Working-Storage Section.
01 tfeld pic x.
88 ok value 'j'.
88 nok value 'n' false 'J'.
procedure division.
set ok to true.
display tfeld.
set nok to false.
display tfeld.
Anzeige: j
J
| | | | | |
Format3:
SET Environmentvariable TO Datenfeld
| |
| | | |
Format3 dient zur Initialisierung von Umgebungsvariablen in der Environment Division
Siehe Set
Zurück zu Acc-Cobol Send Statement
Hoch zu Procedure Divison in COBOL
Weiter zu SORT
|