Im Trefferfall bewirkt dieses Format der @ON-Anweisung, dass die Trefferzeichenfolge durch eine angegebene Zeichenfolge ersetzt wird.
Operation | Operanden | F-Modus, L-Modus |
@ON | { lines | svars } [,...] [:cols[:] ] CHANGE [ALL] [F] [R] [PATTERN] search [,int] [TO] string [V] |
lines svars | Einer oder mehrere Zeilenbereiche, in denen gesucht werden soll. Einer oder mehrere Bereiche von Zeichenfolgevariablen, in denen gesucht |
cols | Zusammenhängender Spaltenbereich, auf den die Suche eingeschränkt Enthält die Bereichsangabe nur eine einzelne Spaltenangabe, so wird damit Wird kein Spaltenbereich angegeben, wird der mit @SEARCH-OPTION |
ALL | Alle Trefferzeichenfolgen innerhalb einer Zeile werden durch die angegebene |
F | In jedem angegebenen Zeilenbereich wird die Ersetzung nur für die erste |
R | Die Zeilen werden von rechts nach links durchsucht. Ist |
PATTERN search | Die im Suchbegriff vorkommenden Musterzeichen werden interpretiert. Suchbegriff, der im Suchbereich aufgefunden werden soll (Details siehe |
int | Erst das |
string | Zeichenfolge, die die Trefferzeichenfolge ersetzen soll. Auch die Angabe Die Zeichenfolge wird in den Zeichensatz der Arbeitsdatei bzw. der |
V | Die Anzahl der Trefferzeilen wird in der Ganzzahlvariablen |
Überschreitet ein Satz durch die Ersetzung die maximale Satzlänge von 32768 Zeichen, dann wird diese nicht durchgeführt und stattdessen die Meldung EDT1937
ausgegeben, die Abarbeitung aber fortgesetzt.
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
Mit dem ersten @ON soll in Zeile 2 nach dem dritten Auftreten des Zeichens R
gesucht werden. Dieses R
soll durch die Zeichenfolge aus Zeile 1 in den Spalten 19 bis 21, d.h. STU
ersetzt werden.
Mit dem zweiten @ON soll in Zeile 2 das erste Auftreten der Zeichenfolge IST
durch die leere Zeichenfolge ersetzt, also gelöscht werden (Alternative zu @ON Format 9).