COPY [num1 [num2] [wfname]] CODer Befehl COPY kopiert einen oder mehrere Sätze hinter den Satz der aktuellen Zeile des workfiles. Die zu kopierenden Sätze werden durch ihre Nummer oder eine symbolische Nummer bezeichnet.
Die Satznummer kann ohne führende Nullen angegeben werden. Symbolische Satz- bzw. Zeilennummern sind:
Erste Nummer größer als zweite
Nummer ... nicht gefunden
Außerdem musst du darauf achten, dass der Kopierbereich nicht das Kopierziel enthält: Das Kopierziel ist sozusagen die Stelle zwischen aktuellem und dem darauffolgenden Satz. Der Kopierbereich darf also nicht die aktuelle Zeile und gleichzeitig die darauffolgende enthalten, wie es zum Beispiel bei COPY * num2 der Fall ist, wenn num2 hinter der aktuellen Zeile liegt. Bei Verstoß gegen diese Bedingung erhältst du die Meldung
Ziel im COPY-Bereich
co * | verdoppelt die aktuelle Zeile. | |
co b | kopiert die letzte Zeile. | |
co f l | kopiert die gesamten Daten hinter die aktuelle Zeile (geht nur, wenn die aktuelle Zeile die letzte Zeile oder die top line ist). | |
co500* | kopiert von Zeile 500 bis zur aktuellen Zeile. | |
co p * | kopiert die Zeile vor der aktuellen und die aktuelle Zeile hinter die aktuelle, macht also aus den beiden Zeilen a b die 4 Zeilen a b a b, wenn b die aktuelle Zeile war. |
Workfile nicht gefunden
copy 1000 1500 abc
Ein weiteres Beispiel: Du möchtest den gesamten Inhalt des
Hauptworkfiles (main
) in einem neuen
workfile namens abc haben. Dann geht das am
einfachsten mit
wf abc;co f l main
Bei der Angabe des workfile-Namens musst du den 2. Parameter (die 2. Nummer) angeben (auch wenn er mit dem 1. identisch ist), wenn der workfile-Name mit einer symbolischen Zeilennummer verwechselt werden könnte. Beispielsweise kopiert:
co 500 a
co 500b
co500 500b
Die beim Kopieren eingesetzten Sätze erhalten Nummern, die sich an die vorhandenen Nummern der beiden Sätze, zwischen die eingesetzt wird, möglichst gut anpassen. Da das Verfahren, wie die neuen Nummern bestimmt werden, auch bei anderen Befehlen benutzt wird, ist es nur einmal beschrieben und zwar im Abschnitt Einfügen von Satznummern.