Die Anweisung @SEQUENCE (Format 3) bewirkt, dass der EDT in jeder Zeile eines zusammenhängenden Zeilenbereichs den Inhalt einer Spalte oder mehrerer zusammenhängender Spalten untersucht. Er interpretiert die dort stehende Zeichenfolge im Fall von Unicode-Zeichensätzen gemäß ihrer UTF16-
Codierung, ansonsten gemäß der dem Zeichensatz der Arbeitsdatei entsprechenden Codierung als Dualzahl. Liegt die zu untersuchende Spalte rechts vom Zeilenende, nimmt der EDT als Spalteninhalt ein Leerzeichen an.
Der EDT prüft, ob die ermittelten Dualzahlen eine aufsteigende Folge bilden. Er gibt alle Zeilen aus, in denen er eine Dualzahl ermittelt, die gleich oder kleiner ist, als die aus der vorhergehenden Zeile. Im Dialogbetrieb erfolgt die Ausgabe nach SYSOUT
, im Stapelbetrieb nach SYSLST
.
Operation | Operanden | F-Modus, L-Modus |
@SEQUENCE | [ {lines | svars} ] : [col] : CHECK [int] |
lines | In jeder Zeile des angegebenen Zeilenbereichs wird der angegebene |
svars | In jeder Zeichenfolgevariablen des angegebenen Bereichs von |
col | Der Operand gibt die Spalte an, in der das erste zu überprüfende Zeichen Fehlt der Operand |
int | Der Operand gibt an, wie viele Spalten ( |
Wird ein Bereich von Zeichenfolgevariablen angegeben, muss für alle Zeichenfolgevariablen entweder ein Unicode-Zeichensatz oder ein 7-Bit- bzw. 8-Bit-Zeichensatz eingestellt sein. Ist dies nicht der Fall, wird die Fehlermeldung EDT5473
ausgegeben und die Abarbeitung der Anweisung abgebrochen.
Fehlt sowohl der Operand lines
als auch der Operand svars
, überprüft der EDT jede Zeile der aktuellen Arbeitsdatei.
Wird die Anweisung mit [K2] unterbrochen und der EDT-Lauf mit /INFORM-PROGRAM
fortgesetzt, so wird die Bearbeitung der Anweisung abgebrochen und die Meldung EDT5501
ausgegeben.
Beispiel
Der EDT soll alle Zeilen darauf überprüfen, ob der Inhalt der Spalten 1 bis 2 eine aufsteigende Folge bildet.
Der EDT gibt alle Zeilen aus, die von der aufsteigenden Folge abweichen.
Nun soll in den ersten 4 Zeilen nur der Inhalt der 1. Spalte zur Überprüfung verwendet werden.
Die Folge lautet 1 (Zeile 1), 2 (Zeile 2), 2 (Zeile 3) und 1 (Zeile 4). Man beachte insbesondere, dass bei Gleichheit ein Verstoß gegen eine aufsteigende Folge vorliegt. Das ist hier bei Zeile 3 der Fall.