Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

@COLUMN - Text einfügen und Leerzeichen am Zeilenende löschen

&pagelevel(3)&pagelevel

Die @COLUMN-Anweisung verändert den Inhalt von bestehenden Arbeitsdateizeilen bzw. von Zeichenfolgevariablen.

Im ersten Schritt wird ab der angegebenen Spalte Text eingefügt bzw. vorhandener Text ersetzt. Anschließend werden von rechts nach links beginnend mit dem letzten Zeichen der Arbeitsdateizeile bzw. Zeichenfolgevariablen alle Leerzeichen (bis zum ersten Nicht-Leerzeichen) gelöscht. Eine Arbeitsdateizeile, die nur aus Leerzeichen besteht, bleibt als Leerzeile in der Arbeitsdatei erhalten. Eine Zeichenfolgevariable, die nur Leerzeichen enthält, wird durch das Löschen zu einer leeren Zeichenfolgevariablen.

Operation

Operanden

F-Modus, L-Modus

@COLUMN

col ON {lines | svars} [,...] [ { CHANGE | INSERT} ] [:] string

col

Spalte, ab der Text ersetzt oder eingefügt werden soll.

lines

Einer oder mehrere Zeilenbereiche, in denen Text eingefügt bzw. ersetzt
werden soll. Es werden nur existierende Zeilen bearbeitet.

svars

Einer oder mehrere Bereiche von Zeichenfolgevariablen, in denen Text
eingefügt bzw. ersetzt werden soll.

CHANGE

Die mit string angegebene Zeichenfolge ersetzt ab der Spalte col den
bestehenden Text (Standardwert).

INSERT

Die mit string angegebene Zeichenfolge wird ab der Spalte col eingefügt.

:

Ist zwingend anzugeben, wenn weder CHANGE noch INSERT angegeben ist, um die Bereichsangabe in eindeutiger Weise von string zu trennen.

string

Zeichenfolge, die in jeder Zeile jedes angegebenen Zeilenbereiches ab der
angegebenen Spalte eingefügt wird bzw. vorhandenen Text ersetzt. Die
Angabe einer leeren Zeichenfolge ist ebenfalls gestattet.

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 SUBSTITUTION-CHARACTER), anderenfalls wird die
@COLUMN-Anweisung abgewiesen und die Fehlermeldung EDT5453
ausgegeben.

Wenn die Spalte, ab der Text eingefügt werden soll, hinter dem bisherigen Zeilenende liegt, werden die dazwischen liegenden Spalten mit Leerzeichen aufgefüllt.

Das Ersetzen bzw. Einfügen findet nicht statt, wenn eine Arbeitsdateizeile bzw. eine Zeichenfolgevariable dadurch die maximale Länge von 32768 Zeichen überschreitet. Stattdessen wird in diesem Falle die Meldung EDT5474 ausgegeben. Der EDT prüft nicht, ob die Zeilenlänge durch das Löschen von Leerzeichen am Zeilenende wieder einen zulässigen Wert annehmen würde.

Beim Auftreten von Fehlern während der Verarbeitung (EDT5453 oder EDT5474) wird die Anweisung abgebrochen. Evtl. zu diesem Zeitpunkt schon erfolgreich modifizierte Zeilen und/oder Zeichenfolgevariablen bleiben modifiziert.

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.

Hinweis

Man kann diese Anweisung verwenden, um Leerzeichen an den Zeilenenden zu löschen, ohne die Zeilenlängen zu kennen. Wird in der @COLUMN-Anweisung als Ersetzungstext eine leere Zeichenfolge angegeben, so findet keine Textersetzung in den Zeilen statt. Der von rechts nach links verlaufende Löschvorgang bewirkt das Löschen der Leerzeichen an den Zeilenenden.

Beispiel


In Zeile 1.00 soll ab Spalte 3 der Inhalt der Zeile 2.00 stehen. Der alte Inhalt von Zeile 1.00 wird somit überschrieben.


In Zeile 1.00 soll ab Spalte 5 die Zeichenfolge 567 eingefügt werden. Somit wird kein Zeichen von Zeile 1.00 überschrieben.