Mit der Anweisung @SEPARATE werden die angegebenen Zeilen in mehrere Zeilen umgebrochen. Die Umbruchstelle wird durch ein Satztrennzeichen oder durch eine Spaltenposition angegeben.
Operation | Operanden | F-Modus, L-Modus |
@SEPARATE | [lines [,...] ] [AT {strchar | col} ] |
lines | Einer oder mehrere Zeilenbereiche, deren Zeilen umgebrochen werden |
AT | Der Operand leitet die Definition der Umbruchstelle ein. Fehlt der Operand |
strchar | Der Operand legt das Satztrennzeichen für den Umbruch fest. Er besteht |
col | Der Operand gibt die Nummer der Spalte an, bei der umgebrochen werden |
Wird der Umbruch mit Hilfe eines Satztrennzeichens durchgeführt und befinden sich in einer Zeile des angegebenen Zeilenbereichs keine Satztrennzeichen, so wird die Zeile nicht umgebrochen.
Befinden sich in einer Zeile des angegebenen Zeilenbereichs dagegen ein oder mehrere Satztrennzeichen, so wird die Zeile von links nach rechts nach dem ersten Auftreten des Satztrennzeichens durchsucht.
Alle Zeichen vor dem ersten Satztrennzeichen verbleiben in der ursprünglichen Zeile, während alle Zeichen nach dem Satztrennzeichen (auch noch weitere eventuell auftretende Satztrennzeichen) als neue Zeile in die Arbeitsdatei eingefügt werden.
Das Satztrennzeichen, bei dem umgebrochen wurde, wird entfernt, d.h., es kommt weder in der ursprünglichen Zeile noch in der neu eingefügten Zeile vor.
Enthält die neu eingefügte Zeile noch weitere Satztrennzeichen, so wird die soeben beschriebene Vorgehensweise auf diese Zeile erneut angewandt. Dies wird solange fortgesetzt, bis eine neu eingefügte Zeile kein Satztrennzeichen mehr enthält.
Treten in der Zeile mehrere Satztrennzeichen hintereinander auf bzw. beginnt oder endet die Zeile mit einem oder mehreren Satztrennzeichen, so werden Leersätze (Satzlänge=0) erzeugt.
Wird die Umbruchstelle durch eine Spaltennummer festgelegt, so werden alle Zeichen ab dieser Position (inklusive dem Zeichen in der angegebenen Spalte) von der ursprünglichen Zeile abgetrennt und als neue Zeile in die Arbeitsdatei eingefügt. Hat die neu eingefügte Zeile mindestens noch genau so viel oder mehr Spalten, als in der Anweisung durch den Operanden col angegeben, so wird auch diese Zeile an der Spalte col
umgebrochen. Dieser Vorgang wird solange fortgesetzt, bis eine neu eingefügte Zeile weniger Spalten hat, als durch den Operanden col
angegeben.
Hat die ursprüngliche Zeile bereits weniger Spalten als durch den Operand col angegeben oder wird in der Anweisung col=1
angegeben, wird die Zeile nicht verändert.
Die Nummerierung der beim Umbruch neu entstehenden Zeilen geschieht nach dem Verfahren „Einfügen zwischen zwei Zeilen“ (siehe Abschnitt „Zeilennummernvergabe“).
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 1
Eine Druckliste soll eine kleinere Breite erhalten:
@SEPARATE 5-100 AT 41
Die Zeilen 5 bis 100 werden auf eine Länge von 40 Zeichen gekürzt. Die Zeilenreste werden hinter jede Zeile in die Datei eingefügt.
Beispiel 2
In Datensätzen sind Zeilenvorschub-Zeichen (= U'000A'
in UTF16
) enthalten, die ausgewertet werden sollen (es wird für dieses Beispiel angenommen, dass als Fluchtsymbol für die Ersatzdarstellung von Unicode-Zeichen mit der Anweisung @PAR ESCAPE-CHARACTER das Zeichen %
vereinbart wurde):
@SEPARATE & AT '%U000A'