Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

@ON (Format 6) - Ersetzen der Trefferzeichenfolge

&pagelevel(3)&pagelevel

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
werden soll.

cols

Zusammenhängender Spaltenbereich, auf den die Suche eingeschränkt
werden soll.

Enthält die Bereichsangabe nur eine einzelne Spaltenangabe, so wird damit
der Bereich von dieser Spalte bis zum Zeilenende spezifiziert. Ist die erste
Spaltenangabe bereits größer als die Zeilenlänge, wird die Zeile bzw.
Zeichenfolgevariable ignoriert.

Wird kein Spaltenbereich angegeben, wird der mit @SEARCH-OPTION
eingestellte Spaltenbereich verwendet.

ALL

Alle Trefferzeichenfolgen innerhalb einer Zeile werden durch die angegebene
Zeichenfolge ersetzt. Ist ALL nicht angegeben, wird die Ersetzung nur für
die erste Trefferzeichenfolge in einer Zeile durchgeführt.

F

In jedem angegebenen Zeilenbereich wird die Ersetzung nur für die erste
Trefferzeile durchgeführt. Ist F nicht angegeben, findet die Ersetzung für
jede Trefferzeile jedes angegebenen Zeilenbereiches statt.

R

Die Zeilen werden von rechts nach links durchsucht. Ist R nicht angegeben,
werden sie von links nach rechts durchsucht.

PATTERN

search

Die im Suchbegriff vorkommenden Musterzeichen werden interpretiert.

Suchbegriff, der im Suchbereich aufgefunden werden soll (Details siehe
Abschnitt „Suchen mit @ON“). Die Angabe einer leeren
Zeichenfolge ist nicht erlaubt.

int

Erst das int-te Auftreten des Suchbegriffes in einer Zeile ist als erster Treffer
zu werten. Als Eingaben für int sind alle Werte zwischen 1 und 32768
erlaubt. Der Standardwert für int beträgt 1.

string

Zeichenfolge, die die Trefferzeichenfolge ersetzen soll. Auch die Angabe
einer leeren Zeichenfolge ist erlaubt.

Die Zeichenfolge wird in den Zeichensatz der Arbeitsdatei bzw. der
Zeichenfolgevariablen konvertiert. Enthält die Zeichenfolge Zeichen, die im
Ziel-Zeichensatz nicht darstellbar sind, werden diese durch ein
Ersatzzeichen ersetzt, sofern ein solches spezifiziert ist (siehe @PAR SUBSTITU-
TION-CHARACTER), anderenfalls wird die @ON-Anweisung abgebrochen
und die Fehlermeldung EDT5453 ausgegeben.

V

Die Anzahl der Trefferzeilen wird in der Ganzzahlvariablen #I2 und die
Gesamtanzahl der Treffer in der Ganzzahlvariablen #I3 gespeichert. Die
Zählung erfolgt unabhängig davon, ob die Ersetzung stattfindet oder nicht
(wegen Längenüberschreitung). Der Operand V wirkt nur bei gleichzeitiger
Angabe des Operanden ALL. Ist V nicht angegeben, bleiben die
Ganzzahlvariablen #I2 und #I3 unverändert.

Ü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).