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 4) - Kopieren von markierten Zeilen

&pagelevel(3)&pagelevel

Dieses Format der @ON-Anweisung bewirkt, dass alle mit der angegebenen Satzmarkierung markierten Sätze der zu durchsuchenden Zeilenbereiche in die angegebene Arbeitsdatei kopiert werden.

Operation

Operanden

F-Modus, L-Modus

@ON

lines[,...] [:cols[:]] FIND [ALL] [F] [R] [NOT] MARK m

[COPY [TO] ] (procnr) [KEEP] [OLD]

lines

cols

Einer oder mehrere Zeilenbereiche, in denen gesucht werden soll.

Die Spezifikation des Spaltenbereiches ist zulässig, aber ohne Bedeutung,
da nur nach Satzmarkierungen gesucht wird.

ALL

Die Angabe ist zulässig, aber ohne Bedeutung, da ein Satz nur einmal
kopiert wird.

F

Es wird nur der erste Treffersatz jedes angegebenen Zeilenbereiches mit
der angegebenen Satzmarkierung kopiert. Ist F nicht angegeben, so werden
alle Sätze jedes angegebenen Zeilenbereiches mit der angegebenen
Satzmarkierung kopiert.

R

Die Angabe ist ohne Bedeutung, da die Suchrichtung bei Markierungen
keine Rolle spielt.

NOT

Wird NOT angegeben, so werden diejenigen Sätze kopiert, die eine
Satzmarkierung, aber nicht die angegebene Satzmarkierung m haben. Wird NOT
nicht angegeben, so werden die mit der Satzmarkierung m markierten Sätze
kopiert.

Es ist mit diesem Format nicht möglich, Sätze zu kopieren, die gar keine
Satzmarkierung haben.

m

procnr

Nummer der Satzmarkierung (1..9), nach der gesucht werden soll.

Nummer der Arbeitsdatei (0..22), in die die Trefferzeilen kopiert werden.

Eine aktive oder die aktuelle Arbeitsdatei darf nicht angegeben werden. Ist
OLD nicht angegeben und werden gleichzeitig Treffersätze gefunden, so
wird die Ziel-Arbeitsdatei vor dem Kopieren vollständig gelöscht (siehe
@DELETE, Format 2). Werden keine Treffersätze gefunden, bleibt der
Inhalt der Ziel-Arbeitsdatei unverändert.

KEEP

Die Zeilennummern der Treffersätze werden beim Kopieren beibehalten.
Wird KEEP nicht angegeben, erstellt der EDT die Ziel-Arbeitsdatei ab der
aktuellen Zeilennummer, die für jeden kopierten Treffersatz um die aktuelle
Schrittweite erhöht wird.

OLD

Der Inhalt der Ziel-Arbeitsdatei wird vor dem Kopieren nicht gelöscht.
Eventuell existierende Zeilen mit derselben Zeilennummer in der Ziel-Arbeitsdatei
werden überschrieben. Wird OLD nicht angegeben und werden gleichzeitig
Treffersätze gefunden, so wird die Ziel-Arbeitsdatei vor dem Kopieren
vollständig gelöscht (siehe @DELETE, Format 2).

Ist die angegebene Arbeitsdatei leer oder wurde sie vollständig gelöscht und hat sie den Zeichensatz *NONE, dann erhält sie beim Kopieren den Zeichensatz der aktuellen Arbeitsdatei.

Hat die angegebene Arbeitsdatei einen Zeichensatz, dann werden die zu kopierenden Zeilen in den Zeichensatz dieser Arbeitsdatei konvertiert. Werden dabei Zeichen gefunden, die im Zeichensatz der Arbeitsdatei nicht darstellbar sind, werden diese durch ein Ersatzzeichen ersetzt, sofern ein solches spezifiziert ist (siehe @PAR SUBSTITUTION-CHARACTER), andernfalls wird die @ON-Anweisung abgewiesen und die Fehlermeldung EDT5453 ausgegeben.

Die Satzmarkierungen werden beim Kopieren in die Ziel-Arbeitsdatei nicht übernommen.

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 Zeilenbereich 1 bis 5 soll auf die Satzmarkierung 2 überprüft und die Treffersätze unter Beibehaltung der Zeilennummer in die Arbeitsdatei 3 kopiert werden. Anschließend soll in die Arbeitsdatei 3 verzweigt werden.