Dieser Abschnitt beschreibt die Funktionen, die bei allen Objekttypen zur Verfügung stehen, bei denen Hauptkommandos oder Zeilenkommandos verwendet werden können.
Dieser Abschnitt beschreibt die Zeilenkommandos und Hauptkommandos, die zum Einfügen und Löschen von Zeilen zur Verfügung stehen.
Zum Einfügen und Löschen von Zeilen auf dem Editor-Bildschirm stehen Ihnen folgende Zeilenkommandos zur Verfügung:
| Zeilenkommando | Erläuterung |
|---|---|
D |
Löscht die markierte Zeile. |
Dn |
Löscht die nächsten n
Zeilen.
|
DD |
Markiert die erste Zeile eines zu löschenden Blocks. Zum Eingrenzen des
Blocks ist ein zweites DD-Kommando nötig. Die
Löschung erfolgt nach der Eingabe des zweiten
DD-Kommandos..
|
DX |
Löscht die mit .X markierte Zeile.
|
DY |
Löscht die mit .Y markierte Zeile.
|
DX-Y |
Löscht den Zeilenblock ab der mit .X markierten Zeile bis zur
mit .Y markierten Zeile.
|
I |
Fügt eine Zeile unterhalb der aktuellen Zeile ein. Der Editor wird auf den
Einfügemodus umgeschaltet. Das heißt, wenn Sie in der neuen Zeile Daten oder ein
Leerzeichen eintippen und Enter drücken, wird automatische eine neue
Zeile eingefügt und der Cursor in diese Zeile platziert.
Falls Sie in eine
eingefügte Zeile keine neuen Daten eingeben und Enter drücken,
verlässt der Editor den Einfügemodus, und die Leerzeile wird gelöscht. Wenn
Sie eine Maskenzeile definiert haben und das Kommando |
In |
Fügt n Zeilen unterhalb der
aktuellen Zeile ein. Sie können in die neuen Zeilen Daten eingeben. Wenn Sie
Enter drücken, werden nicht benutzte Zeilen gelöscht, eine
Leerzeile bleibt jedoch erhalten, und der Cursor wird in diese Zeile platziert
(d.h. der Editor bleibt im Einfügemodus).
|
TE |
Schaltet den Editor in den Texteingabemodus. Das heißt, dass ab dieser
Zeile der Editor-Bildschirm leer ist (ohne Zeilennummern) und dass Sie Daten
eingeben können.
Wenn Sie Enter drücken, werden alle übrig gebliebenen Leerzeilen gelöscht, Zeilennummern werden wieder angezeigt und der Text wird, unter Berücksichtigung der Ausrichtungseinstellungen innerhalb der eingestellten Randbegrenzungen neu formatiert. Siehe auch POWER-Kommando. |
W |
Öffnet ein einzeiliges Fenster. Es wird keine neue Zeile eingefügt, wenn Sie in dieses Fenster Daten eingeben und Enter drücken. |
Wn |
Öffnet ein Fenster mit n Zeilen.
Wenn Sie Enter drücken, werden alle nicht benutzten Zeilen
gelöscht.
|
Sie können auch das Hauptkommando POWER benutzen, um in den Texteingabemodus
umzuschalten.
Wenn Sie das Hauptkommando POWER absetzen, erscheint ein
leerer Editor-Bildschirm (ohne Zeilennummern), und Sie können Daten eingeben. Wenn Sie
Enter drücken, werden übrig gebliebene Leerzeilen gelöscht, Zeilennummern
werden wieder angezeigt und der Text wird, unter Berücksichtigung der
Ausrichtungseinstellungen innerhalb der eingestellten Randbegrenzungen neu
formatiert.
Zum Löschen von Zeilen können Sie auch das Hauptkommando DELETE
benutzen.
Beispiel:
DEL C'Abc' .X .Y 10 30 ALL
Dieses Kommando löscht alle Zeilen, die die Zeichenkette Abc genau so wie
hier angegeben enthalten zwischen den Spalten 10 bis 30 innerhalb des Blocks, der mit
den Markierungen .X und .Y eingegrenzt ist.
Sie können alle weiter oben für das FIND-Kommando
beschriebenen Operanden angeben. Ausnahme: Der Richtungsoperand ALL gibt
die Löschung aller Zeilen mit der angegebenen Zeichenkette an. Ein nicht qualifiziertes
DELETE-Kommando löscht die aktuelle Zeile.
Mit den folgenden Zeilenkommandos können Sie Zeilen oder Datenblöcke kopieren, verschieben, überlagern und wiederholen.
| Zeilenkommando | Erläuterung |
|---|---|
A |
Markiert die Zielzeile für ein Zeilenkommando zum Kopieren
(C,
Cn,
CC) oder Verschieben (M,
Mn,
MM). Die Daten werden nach dieser Zeile
eingefügt.
|
B |
Markiert die Zielzeile für ein Zeilenkommando zum Kopieren
(C,
Cn,
CC) oder Verschieben (M,
Mn,
MM). Die Daten werden vor dieser Zeile
eingefügt.
|
C |
Kopiert diese Zeile an die Stelle, die mit einem Zeilenkommando
A, B oder
O markiert ist.
|
Cn |
Kopiert die nächsten n Zeilen an die
Position, die mit einem Zeilenkommando A,
B oder O markiert
ist.
|
CC |
Markiert die erste Zeile des zu kopierenden Blocks. Ein zweites Kommando
CC ist nötig, um den Block einzugrenzen. Das Kopieren
erfolgt, nachdem das Ziel mit einem Zeilenkommando A,
B oder O markiert worden
ist.
|
CX |
Kopiert die mit .X markierte Zeile. Fügt die Daten nach dieser
Zeile ein.
|
CY |
Kopiert die mit .Y markierte Zeile. Fügt die Daten nach dieser
Zeile ein.
|
CX-Y |
Kopiert den Zeilenblock ab der Zeile, die mit .X markiert ist,
bis zur Zeile, die mit .Y markiert ist. Fügt die Daten nach dieser
Zeile ein.
|
M |
Verschiebt diese Zeile an die Position, die mit einem Zeilenkommando
A, B oder
O markiert ist.
|
Mn |
Verschiebt die nächsten n Zeilen an
die Position, die mit einem Zeilenkommando A oder
B markiert ist.
|
MM |
Markiert die erste Zeile des zu verschiebenden Blocks. Ein zweites
Zeilenkommando MM ist nötig, um den Block abzugrenzen.
Das Verschieben erfolgt, nachdem das Ziel mit einem Zeilenkommando
A, B oder
O markiert worden ist.
|
MX |
Verschiebt die mit .X markierte Zeile. Fügt die Daten nach
dieser Zeile ein.
|
MY |
Verschiebt die mit .Y markierte Zeile. Fügt die Daten nach
dieser Zeile ein.
|
MX-Y |
Verschiebt den Zeilenblock ab der Zeile, die mit .X markiert
ist, zur Zeile, die mit .Y markiert ist. Fügt die Daten nach dieser
Zeile ein.
|
O |
Markiert die Zielzeile für ein Zeilenkommando zum Kopieren
(C,
Cn,
CC) oder zum Verschieben
(M,
Mn,
MM). Die Daten werden mit dieser Zeile
zusammengeführt. (Es werden nur Leerzeichen innerhalb der Bereichsgrenzen
geändert).
Siehe auch Beispiel für das Überlagern von Daten. |
On |
Markiert diese Zeile und die nächsten n Zeilen als
Zielzeilen für ein Kopier-Zeilenkommando (C,
Cn,
CC) oder Verschieben-Zeilenkommando
(M,
Mn,
MM). Die kopierten oder verschobenen Zeilen werden
mit diesen Zeilen zusammengeführt, d.h. Leerzeichen in den Zeilen werden
überlagert.
Siehe auch Beispiel für das Überlagern von Daten. |
OO |
Markiert die erste Zeile eines Zielzeilenblocks für ein Kopier-Zeilenkommando
(C,
Cn,
CC) oder Verschiebe-Zeilenkommando
(M,
Mn,
MM). Ein zweites Zeilenkommando
OO ist nötig, um die letzte Zeile des
Zielzeilenblocks zu markieren.
Die kopierten oder verschobenen Zeilen werden mit diesen Zeilen zusammengeführt, d.h. Leerzeichen in den Zeilen werden überlagert. Siehe auch Beispiel für das Überlagern von Daten. |
R |
Wiederholt diese Zeile einmal. |
Rn |
Wiederholt diese Zeile n Mal.
|
RR |
Markiert die erste Zeile eines Blocks, der wiederholt werden soll. Ein
zweites Kommando RR ist nötig, um den Block
einzugrenzen. Die Wiederholung erfolgt, nachdem das zweite Kommando
RR eingegeben worden ist.
|
RRn |
Wiederholt den Block, der durch zwei Zeilenkommandos
RRn eingegrenzt ist,
n Mal.
Klammerkommandos
|
) |
Verschiebt diese Zeile ab der linken Begrenzung um eine Spalte nach Rechts. |
)n |
Verschiebt diese Zeile um n Spalten
nach Rechts.
|
))n |
Markiert die erste Zeile eines um n
Spalten nach Rechts zu verschiebenden Blocks. Ein zweites Kommando
))n ist nötig, um den
Block einzugrenzen. Das Verschieben erfolgt, nachdem das zweite Kommando
))n eingeben worden ist.
Zwei nicht qualifizierte Zeilenkommandos )) verschieben
den Block um eine Spalte nach Rechts.
|
( |
Verschiebt diese Zeile um eine Spalte nach Links. |
(n |
Verschiebt diese Zeile um n Spalten
nach Links.
|
((n |
Markiert die erste Zeile eines um n
Spalten nach Links zu verschiebenden Blocks. Ein zweites Zeilenkommando
((n ist nötig, um den
Block einzugrenzen. Das Verschieben erfolgt, nachdem das zweite Kommando
((n eingeben worden ist.
Zwei nicht qualifizierte Zeilenkommandos (( verschieben
den Block um eine Spalte nach Links.
Wenn Sie die Symbole |
> |
Verschiebt diese Zeile um eine Spalte nach Rechts. |
>n |
Verschiebt diese Zeile um n Spalten
nach Links.
|
>>n |
Markiert die erste Zeile eines um n
Spalten nach Rechts zu verschiebenden Blocks. Ein zweites Zeilenkommando
>> ist nötig, um den Block einzugrenzen. Das
Verschieben erfolgt, nachdem das zweite Kommando
>> eingeben worden ist. Zwei nicht
qualifizierte Zeilenkommandos >> verschieben den
Block um eine Spalte nach Rechts.
|
< |
Verschiebt diese Zeile um eine Spalte nach Links. |
<n |
Verschiebt diese Zeile um n Spalten
nach Links.
|
<<n |
Markiert die erste Zeile eines um n
Spalten nach Links zu verschiebenden Blocks. Ein zweites Zeilenkommando
<< ist nötig, um den Block einzugrenzen. Das
Verschieben erfolgt, nachdem das zweite Kommando
<< eingeben worden ist. Zwei nicht
qualifizierte Zeilenkommandos << verschieben den
Block um eine Spalte nach Links.
|
Mit einem Überlagerungszeilenkommando (O,
On oder
OO) können Sie einspaltige Listen in ein mehrspaltiges
Format (d.h., in eine Tabellenform) zusammenführen. Sie können ein
Überlagerungszeilenkommando in Verbindung mit einem Kopier-Zeilenkommando
(C,
Cn oder
CC) oder einem Verschiebe-Zeilenkommando
(M,
Mn oder
MM) benutzen.
Dies wird in den folgenden zwei Abbildungen veranschaulicht:
EDIT-NAT:NATLIB1(JOB1JCL)-Program->Struct-Free-77K ------------ Columns 001 072
COMMAND===> SCROLL===> CSR
000090 //JOBNAME JOB NAT,MSGCLASS=X,CLASS=G,TIME=1400
000100 /*JOBPARM LINES=2000
000110 //COPY EXEC PGM=NATBAT,TIME=60,
000120 // PARM=('DBID=9,FNR=33,FNAT=(,15),FSIZE=19',
000130 // 'EJ=OFF,IM=D,ID='';'',MAINPR=1,INTENS=1')
OO0140 //STEPLIB DD
000150 // DD
000160 // DD
OO0170 // DD
MM0180 DISP=SHR,DSN=SPF.SYSF.ADALOAD
000190 DISP=SHR,DSN=SPF.SYSF.LOAD
000200 DISP=SHR,DSN=SPF.SYSF.PROD.INST * OPS INSTALL
MM0210 DISP=SHR,DSN=SPF.SYSF.SOURCE * OPS DOCUMENTS
000220 //DDCARD DD *
000230 ADARUN DA=9,DE=3380,SVC=249
000240 //CMPRINT DD SYSOUT=X
000250 //CMPRT01 DD SYSOUT=X
000260 //CMWKF01 DD DUMMY
000270 //CMSYNIN DD *
000280 LOGON SYSMAIN2
000290 CMD C C * FM #FL DBID #FD FNR #FF TO #TL DBID #TD FNR #TF REP
000300 FIN
000310 /*
****** **************************** bottom of data ****************************
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
Help Split End Suspe Rfind Rchan Up Down Swap Left Right Curso
|
In der obigen Abbildung sind die Zeilen 180 bis 210 mit dem Zeilenkommando
MM (Verschieben) markiert. Sie werden über die Zeilen 140
bis 170 gelegt, die mit dem Zeilenkommando OO (Überlagern)
markiert sind.
Die folgende Abbildung zeigt das Ergebnis der Ausführung der Zeilenkommandos, die in der obigen Abbildung zu sehen sind. Die Zeilen 180 bis 220 sind über die Zeilen 140 bis 170 gelegt worden:
EDIT-NAT:NATLIB1(JOB1JCL)-Program->Struct-Free-76K ------------ Checkpoint done
COMMAND===> SCROLL===> CSR
000090 //JOBNAME JOB NAT,MSGCLASS=X,CLASS=G,TIME=1400
000100 /*JOBPARM LINES=2000
000110 //COPY EXEC PGM=NATBAT,TIME=60,
000120 // PARM=('DBID=9,FNR=33,FNAT=(,15),FSIZE=19',
000130 // 'EJ=OFF,IM=D,ID='';'',MAINPR=1,INTENS=1')
000140 //STEPLIB DD DISP=SHR,DSN=SPF.SYSF.ADALOAD
000150 // DD DISP=SHR,DSN=SPF.SYSF.LOAD
000160 // DD DISP=SHR,DSN=SPF.SYSF.PROD.INST * OPS INSTALL
000170 // DD DISP=SHR,DSN=SPF.SYSF.SOURCE * OPS DOCUMENTS
000180 //DDCARD DD *
000190 ADARUN DA=9,DE=3380,SVC=249
000200 //CMPRINT DD SYSOUT=X
000210 //CMPRT01 DD SYSOUT=X
000220 //CMWKF01 DD DUMMY
000230 //CMSYNIN DD *
000240 LOGON SYSMAIN2
000250 CMD C C * FM #FL DBID #FD FNR #FF TO #TL DBID #TD FNR #TF REP
000260 FIN
000270 /*
****** **************************** bottom of data ****************************
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
Help Split End Suspe Rfind Rchan Up Down Swap Left Right Curso
|
Sie können ein Fenster mit Daten für Verschiebe- oder Kopieraktionen markieren. Auf diese Weise können Sie Daten, die nicht am Anfang einer Zeile beginnen und nicht am Ende einer Zeile enden, kopieren oder verschieben. Diese Aktionen können Sie mittels Editor-Zeilenkommandos und/oder Editor-Hauptkommandos durchführen.
Wenn Sie ein Fenster definieren, werden alle Daten auf dem Bildschirm, die sich zwischen dem Anfang und dem Ende des Fensters befinden, zu einem Teil des Fensters.
Dieser Abschnitt behandelt folgende Themen:
| Zeilenkommando | Erläuterung |
|---|---|
WS |
Markiert den Anfang eines Datenfensters. Die Cursor-Position markiert die Spalte, ab der die Daten gelesen werden. Falls sich der Cursor nicht in der Zeile befindet, bei der das Kommando eingegeben wurde, beginnt das Fenster in Spalte 1. |
WSn |
Das Datenfenster beginnt in Spalte
n dieser Zeile.
|
WE |
Markiert das Ende eines Datenfensters. Funktion wie bei
WS. Falls das Fenster in derselben Zeile beginnen
und enden soll, tippen Sie das WS-Kommando über das
WE-Kommando. Der Editor bestätigt das eingestellte
Fenster mit den Meldungen WS
(WSn) und
WE
(WEn) im Präfixbereich
bzw. mit WW, wenn sich Anfang und Ende des Fensters
in derselben Zeile befinden.
Bevor Sie ein neues Fenster definieren, müssen
Sie das alte Fenster mit dem |
WEn
|
Das Datenfenster endet in Spalte n
dieser Zeile.
|
WC |
Kopiert das Datenfenster. Die Cursor-Position markiert die Spalte, an der die Zeile aufgespalten werden soll, um die kopierten Daten einzufügen. |
WCn
|
Spaltet diese Zeile in Spalte n,
und kopiert die Daten zwischen die beiden Teilen dieser Zeile.
|
WM |
Verschiebt das Datenfenster. Funktion wie bei
WC, jedoch werden die ursprünglichen Daten nach dem
Kopiervorgang gelöscht.
|
WMn
|
Spaltet diese Zeile in Spalte n,
und verschiebt die Daten zwischen die beiden Teilen dieser Zeile.
|
| Hauptkommando | Erläuterung |
|---|---|
WINDOW |
Definiert ein Fenster. Als Parameter werden die Startzeile und Startspalte
und die Endzeile und Endspalte angeben. Es muss mindestens ein Parameter
angegeben werden. Beispiele:
Definiert ein Fenster, das in Zeile 5/Spalte 24 beginnt und in Zeile 10/Spalte 13 endet.
Definiert ein Fenster, das in Zeile 5/Spalte 24 beginnt und in Zeile 10/letzte Spalte endet.
Definiert ein Fenster, das in Zeile 5/erste Spalte beginnt und in Zeile 10/letzte Spalte endet.
Definiert ein Fenster, das in Zeile 5/erste Spalte beginnt und in Zeile 5/letzte Spalte endet. |
CWINDOW |
Kopiert ein Fenster, das mit dem
WINDOW-Kommando definiert wurde. Optionale Parameter
geben die Zeile an, bei der das Fenster eingefügt werden soll. Beispiele:
Kopiert das Fenster nach Zeile 5.
Spaltet Zeile 5 bei Spalte 24 und kopiert das Fenster zwischen die beiden Teile. |
DWINDOW |
Löscht ein Datenfenster, das mit dem
WINDOW-Befehl definiert wurde.
|
MWINDOW |
Verschiebt ein Fenster, das mit dem
WINDOW-Befehl definiert wurde. Funktion wie beim
CWINDOW-Kommando, jedoch werden die ursprünglichen
Daten nach dem Kopiervorgang gelöscht.
|
Dieser Abschnitt enthält ein Beispiel für das Definieren und Verschieben von Text mittels eines Datenfensters, wobei entweder Zeilenkommandos oder die entsprechenden Hauptkommandos zur Anwwendung kommen.
Das Beispiel bezieht sich auf den Text, der in Schritt 1 weiter unten gezeigt wird. Es
wird davon ausgegangen, dass Sie den ganzen Satz, der mit Note that when...
(Zeile 8) beginnt, so verschieben wollen, dass er auf den angezeigten Text folgt, der
mit ...copy operations (Zeile 3) endet.
Um ein Fenster mit Zeilenkommandos zu definieren und zu verschieben:
Geben Sie den unten abgebildeten Text ein:
EDIT-NAT:NATLIB1(WINEX)-Text->Struct-Free-78K ----------------- Columns 001 072
COMMAND===> SCROLL===> CSR
****** ****************************** top of data *****************************
000001 Copy a Window with Data
000002
000003 You can specify a window with data for move or copy operations. This
000004 allows you to copy or move data that does not start or end at the
000005 beginning or end of a line. This function can be performed using
000006 editor line commands and/or main commands.
000007
000008 Below are some examples of copying windows with data. Note that when
000009 you define a window, all data on your screen between start and end of
000010 the window become part of the window. Available line commands are:
****** **************************** bottom of data ****************************
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
Help Split End Suspe Rfind Rchan Up Down Swap Left Right Curso
|
Geben das Zeilenkommando WS in Zeile 8 (der ersten zu
verschiebenden Datenzeile) ein. Positionieren Sie den Cursor in die betreffende
Spalte (N des Worts Note) und drücken Sie
Enter.
Die Meldung WS55 erscheint im Präfixbereich der Zeile 8 und zeigt
die Nummer der gewählten Spalte an:
EDIT-NAT:NATLIB1(WINEX)-Text->Struct-Free-78K ---------------- Block is pending
COMMAND===> SCROLL===> CSR
****** ****************************** top of data *****************************
000001 Copy a Window with Data
000002
000003 You can specify a window with data for move or copy operations. This
000004 allows you to copy or move data that does not start or end at the
000005 beginning or end of a line. This function can be performed using
000006 editor line commands and/or main commands.
000007
WS55 Below are some examples of copying windows with data. Note that when
000009 you define a window, all data on your screen between start and end of
000010 the window become part of the window. Available line commands are:
****** **************************** bottom of data ****************************
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
Help Split End Suspe Rfind Rchan Up Down Swap Left Right Curso
|
Geben Sie das Zeilenkommando WE in Zeile 10 (die
letzte Zeile der zu verschiebenden Daten) ein, platzieren Sie den Cursor auf die
letzte zu verschiebende Spalte (Satzende-Zeichen (.) nach
window) und drücken Sie Enter.
Die Meldung WE37 erscheint im Präfixbereich der Zeile 10:
EDIT-NAT:NATLIB1(WINEX)-Text->Struct-Free-78K ---------------- Block is pending
COMMAND===> SCROLL===> CSR
****** ****************************** top of data *****************************
000001 Copy a Window with Data
000002
000003 You can specify a window with data for move or copy operations. This
000004 allows you to copy or move data that does not start or end at the
000005 beginning or end of a line. This function can be performed using
000006 editor line commands and/or main commands.
000007
WS55 Below are some examples of copying windows with data. Note that when
000009 you define a window, all data on your screen between start and end of
WE37 the window become part of the window. Available line commands are:
****** **************************** bottom of data ****************************
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
Help Split End Suspe Rfind Rchan Up Down Swap Left Right Curso
|
Geben Sie das Zeilenkommando WM in Zeile 3 ein (die
Daten werden in die Folgezeile, Zeile 4, verschoben), und bewegen Sie den Cursor
in die Spalte, bei der Zeile 3 gesplittet werden soll (das Leerzeichen vor den
Wort This). Drücken Sie Enter.
Der angegebene Textabschnitt wird verschoben:
EDIT-NAT:NATLIB1(WINEX)-Text->Struct-Free-78K ----------------- Checkpoint done
COMMAND===> SCROLL===> CSR
****** ****************************** top of data *****************************
000001 Copy a Window with Data
000002
000003 You can specify a window with data for move or copy operations.
000004 Note that when
000005 you define a window, all data on your screen between start and end of
000006 the window become part of the window.
000007 This
000008 allows you to copy or move data that does not start or end at the
000009 beginning or end of a line. This function can be performed using
000010 editor line commands and/or main commands.
000011
000012 Below are some examples of copying windows with data.
000013 Available line commands are:
****** **************************** bottom of data ****************************
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
Help Split End Suspe Rfind Rchan Up Down Swap Left Right Curso
|
Sie können das gleiche Ergebnis wie in der zuvor beschriebenen Anleitung erzielen, indem Sie die folgende Kommandoabfolge benutzen.
Um ein Fenster mit Hauptkommandos zu definieren und zu verschieben:
Geben Sie den Text ein, der unter Schritt 1 weiter oben abgebildet ist.
Geben Sie folgende Hauptkommandos in der Kommandozeile ein:
WINDOW 8 10 55 37;MWINDOW 3 64
Der angegebene Textabschnitt wird wie in Schritt 4 dargestellt verschoben.
Es gibt Editor-Kommandos, mit denen Sie bei bestimmten Funktionen die horizontalen und
vertikalen Bereichsgrenzen einstellen können, zum Beispiel die Hauptkommandos
FIND, CHANGE,
CEnter, ORDER,
JLEFT und JRIGHT sowie die
entsprechenden Zeilenkommandos (Zum Beispiel TC,
TO, LJ oder
RJ).
Dieser Abschnitt behandelt folgende Themen:
Mit dem Hauptkommando BNDS können Sie die horizontalen
Bereichsgrenzen so wie in der nachfolgenden Beispiel-Anleitung beschrieben
einstellen.
Um Bereichsgrenzen einzustellen und anzuzeigen:
Setzen Sie folgendes Hauptkommando ab:
BNDS 20 50
Die horizontalen Grenzen werden bei den Spalten 20 und 50 gesetzt.
Um die aktuelle Einstellung der Bereichsgrenzen anzuzeigen, setzten Sie das folgende Zeilenkommando ab:
BNDS
Die folgende Abbildung zeigt das Ergebnis des Hauptkommandos BNDS
20 50, auf das ein Zeilenkommando BNDS
in Zeile 2 folgt:
EDIT-NAT:NATLIB1(JOB1JCL)-Program->Struct-Free-77K ------------ Columns 001 072
COMMAND===> SCROLL===> CSR
****** ****************************** top of data *****************************
=cols> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
=bnds> < >
000010 RESET #JOBNAME(A8)
000020 RESET #FD(N3) #FL(A8) #FF(N3)
000030 RESET #TD(N3) #TL(A8) #TF(N3)
000040 COMPRESS *INIT-USER 'SM' INTO #JOBNAME LEAVING NO SPACE
000050 SET CONTROL 'WL60C6B005/010F'
000060 INPUT 'Enter PARAMETERS FOR LIBRARY COPY:'
000070 / 'FROM: DBID:' #FD 'FNR:' #FF 'LIB:' #FL
000080 / 'TO : DBID:' #TD 'FNR:' #TF 'LIB:' #TL
000090 // #JOBNAME JOB JWO,MSGCLASS=X,CLASS=G,TIME=1400
000100 /*JOBPARM LINES=2000
000110 //COPY EXEC PGM=NATBAT21,REGION=2000K,TIME=60,
000120 // PARM=('DBID=9,FNR=33,FNAT=(,15),FSIZE=19',
000130 // 'EJ=OFF,IM=D,ID='';'',MAINPR=1,INTENS=1')
000140 //STEPLIB DD DISP=SHR,DSN=OPS.SYSF.V5.ADALOAD
000150 // DD DISP=SHR,DSN=OPS.SYSF.PROD.LOAD
000160 //DDCARD DD *
000170 ADARUN DA=9,DE=3380,SVC=249
000180 //CMPRINT DD SYSOUT=X
000190 //CMPRT01 DD SYSOUT=X
000200 //CMWKF01 DD DUMMY
000210 //CMSYNIN DD *
000220 LOGON SYSMAIN2
000230 CMD C C * FM #FL DBID #FD FNR #FF TO #TL DBID #TD FNR #TF REP
000240 FIN
000250 /*
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
Help Split End Suspe Rfind Rchan Up Down Swap Left Right Curso
|
Sie können die aktuelle Zeile (die sich zurzeit am Anfang des Editierbereichs befindet)
oder einen Zeilenblock markieren, indem Sie entweder das Hauptkommando
LABEL oder entsprechende Zeilenkommandos benutzen.
Um aktuelle Zeilen mit LABEL zu markieren:
Setzen Sie das folgende Hauptkommando ab:
LABEL .X
Die aktuelle Zeile wird mit .X markiert.
Um einen Zeilenblock einzugrenzen, können Sie jetzt zur nächsten gewünschten Begrenzungszeile blättern und dann das folgende Hauptkommando absetzen:
LABEL .Y
Die neue aktuelle Zeile wird mit .Y markiert, womit die letzte Zeile
eines Zeilenblocks gekennzeichnet ist.
Um bestimmte Zeilen mittels Zeilenkommandos zu markieren:
Setzen Sie neben der ersten zu markierenden Zeile folgendes Zeilenkommando ab:
.X
Die angegebene Zeile wird mit .X markiert.
Setzen Sie neben der letzten zu markierenden Zeile folgendes Zeilenkommando ab:
.Y
Die angegebene Zeile wird mit .Y markiert, womit ein Zeilenblocks
gekennzeichnet ist, der bei der mit .X markierten Zeile beginnt.
Tipp
Sie können zum Markieren von Zeilen eine beliebige Zeichenkette benutzen, z.B.
.START und .END.
Beispiele für die Verwendung von Markierungszeilen siehe Zeichenkette suchen und Zeichenkette ersetzen.
Sie können Daten definieren, die automatisch in eine Zeile platziert werden, und zwar
mittels einer Zeileneinfüge-Operation (z.B. mit dem Zeilenkommando
I oder W). Eine solche Zeile wird
als Maskenzeile bezeichnet. Eine Maskenzeile ist nützlich, wenn Sie mehrere Codezeilen
schreiben müssen, die identisch oder sehr ähnlich sind.
Anmerkung
Während einer Bearbeitungssitzung können Sie nur eine Maskenzeile haben. Wenn Sie eine
neue Maskenzeile definieren, wird eine bereits vorhandene Maskenzeilendefinition
automatisch mit dem neuen Wert aktualisiert.
Um eine Maskenzeile zu definieren und zu
benutzen:
Setzen Sie folgendes Zeilenkommando ab:
MASK
Über der Zeile, in der Sie das Kommando eingegeben haben, erscheint eine Leerzeile
mit =mask>.
Geben Sie die Daten, die Sie als Maskenzeile definieren wollen, in die Leerzeile ein, und drücken Sie Enter.
Die Maskenzeile steht nun solange für den aktuellen Quellcode zur Verfügung, bis Sie die Maske mit einer neuen Maskenzeile aktualisieren oder bis Sie die Maskenfunktion deaktivieren.
Setzen Sie folgendes Hauptkommando ab:
MASK ON
Die Maskenfunktion wird aktiviert. Die definierte Maske erscheint nun in allen Zeilen, die durch eine Zeileneinfüge-Operation hinzugefügt werden.
Setzen Sie ein Einfüge-Zeilenkommando ab, zum Beispiel:
I2
Es werden zwei neue Zeilen mit dem Text aus der Maskenzeile in den Quellcode eingefügt. Der Text einer Maskenzeile erscheint in allen Zeilen, die durch ein Einfüge-Zeilenkommando hinzugefügt werden.
Ändern Sie den Text in den neuen Zeilen. Wenn Sie den Text nicht ändern, wird jede eingefügte Zeile gelöscht, wenn Sie das nächste Mal Enter drücken.
Falls erforderlich, deaktivieren Sie die Maskenfunktion mit dem folgende Hauptkommando:
MASK OFF
Das Kommando MASK OFF deaktiviert die Maskenfunktion,
löscht aber nicht den Inhalt der Maskenzeile.
Siehe auch MASK in Hauptkommandos
(Übersicht).
Sie können die Einrückung angegebener Zeilen ändern, indem Sie das Hauptkommando
ORDER zusammen mit einer
Bereichsgrenzen-Einstellung benutzen. Beispiel: Die Kommandoabfolge
BNDS 3;ORDER 5 20
verschiebt die Zeilen 5 bis 20 soweit nach Rechts, dass sie in Spalte 3 beginnen.
Anmerkung
Falls das Ende einer neu angeordneten Zeile jenseits der rechten Bereichsgrenze zu
liegen käme, wird sie automatisch gesplittet.
Um die verschobenen Daten wieder nach links auszurichten, benutzen Sie das Kommando
JLEFT.
Sie können außerdem die Einrückung von Zeilen oder eines Zeilenblocks ändern, indem Sie Zeilenkommandos absetzen. Dabei gilt ebenfalls, dass, falls das Ende einer Zeile jenseits der rechten Bereichsgrenze zu liegen käme, diese Zeile automatisch gesplittet wird.
| Zeilenkommando | Erläuterung |
|---|---|
TF |
Ordnet die Daten ab der Zeile neu an, in der es eingegeben wurde, bis zum
Ende des Paragraphs oder bis zur nächsten Leerzeile bei der rechten
Bereichsgrenze. Dieses Zeilenkommando kann mit einem numerischen Wert, der die
rechte Bereichsgrenze angibt, eingegeben werden. Beispiel: Das Zeilenkommando
TF50 ordnet die Daten bei Spalte 50.
|
TO |
Markiert eine Zeile, die ausgerichtet werden soll. |
TOO |
Markiert die erste Zeile eines Datenblocks, der ausgerichtet werden soll. Ein
zweites Zeilenkommando TOO ist nötig, um den Block
einzugrenzen. Die Ausrichtung erfolgt, nachdem das zweite
TOO-Kommando abgesetzt worden ist.
|
Die Daten können innerhalb der eingestellten Bereichsgrenzen neu angeordnet und bündig
mit der linken, der rechten oder mit beiden Bereichsgrenzen angeordnet werden. Dazu dient
das Kommando JUSTIFY. Beispiel: Das Kommando:
BNDS 6 60;JUSTIFY BOTH
aktiviert die Ausrichtung auf die Spalten 5 und 60. Um die Neuausrichtung auszuführen,
müssen Sie einen Datenblock mit dem Zeilenkommando TOO
markieren.
Außerdem bietet der Editor ein Zeilenkommando, mit dem Sie eine einzelne Zeile in zwei
Zeilen aufspalten können. Geben Sie das Zeilenkommando S im
Präfixbereich der Zeile ein, die Sie aufspalten möchten. Platzieren Sie den Cursor an die
Stelle, an der die Aufspaltung erfolgen soll, und drücken Sie Enter.
Der Editor bietet Kommandos, mit denen Sie angegebene Daten innerhalb eingestellter Bereichsgrenzen zentrieren können. Beispiel: Die Kommandosequenz
BNDS 5 60;CEnter 5 15
zentriert die Daten in den Zeilen 5 bis 15 zwischen den Spalten 5 und 60.
Anmerkung
Nur der Text zwischen den Bereichsgrenzen wird zentriert. Der Text links und rechts
der Bereichsgrenzen ist nicht betroffen.
Alternativ können Sie Zeilenkommandos zum Ausführen der Zentrierungsfunktion benutzen:
| Zeilenkommando | Erläuterung |
|---|---|
TC |
Zentriert diese Zeile innerhalb der eingestellten Bereichsgrenzen. |
TCC |
Markiert die erste Zeile in einem Datenblock, der zentriert werden soll. Ein
zweites Zeilenkommando TCC ist nötig, um den Block
einzugrenzen. Die Zentrierung erfolgt, nachdem das zweite Kommando
TCC abgesetzt worden ist.
|
Der Editor bietet verschiedene Hauptkommandos und Zeilenkommandos, mit denen Sie Zeilen
oder Datenblöcke auf dem Bildschirm neu ausrichten können, und zwar in Abhängigkeit von
den horizontalen Bereichsgrenzen, die Sie eingestellt haben (Hauptkommando BNDS); siehe
Horizontale und Vertikale
Bereichsgrenzen einstellen.
Die Hauptkommandos JLEFT und JRIGHT
richten die Daten bündig mit der linken bzw. der rechten Bereichsgrenze aus. Beispiel: Die
Kommandosequenz
BNDS 16 80;JLEFT 140 170
richtet die Daten zwischen den Spalten 16 bis 80 in den Zeilen 140 bis 170 linksbündig mit Spalte 16 aus.
Die folgende Abbildung veranschaulicht dieses Beispiel:
EDIT-NAT:NATLIB1(JOB1JCL)-Program->Struct-Free-77K ------------ Columns 001 072
COMMAND===> BNDS 16 80;JLEFT 140 170 SCROLL===> CSR
=cols> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
000090 // #JOBNAME JOB NAT,MSGCLASS=X,CLASS=G,TIME=1400
000100 /*JOBPARM LINES=2000
000110 //COPY EXEC PGM=NATBAT,TIME=60,
000120 // PARM=('DBID=9,FNR=33,FNAT=(,15),FSIZE=19',
000130 // 'EJ=OFF,IM=D,ID='';'',MAINPR=1,INTENS=1')
000140 //STEPLIB DD DISP=SHR,DSN=SPF.SYSF.ADALOAD
000150 // DD DISP=SHR,DSN=SPF.SYSF.LOAD
000160 // DD DISP=SHR,DSN=SPF.SYSF.PROD.INST * OPS INSTALL
000170 // DD DISP=SHR,DSN=SPF.SYSF.SOURCE * OPS DOCUMENTS
000180 //DDCARD DD *
000190 ADARUN DA=9,DE=3380,SVC=249
000200 //CMPRINT DD SYSOUT=X
000210 //CMPRT01 DD SYSOUT=X
000220 //CMWKF01 DD DUMMY
000230 //CMSYNIN DD *
000240 LOGON SYSMAIN2
000250 CMD C C * FM #FL DBID #FD FNR #FF TO #TL DBID #TD FNR #TF REP
000260 FIN
000270 /*
****** **************************** bottom of data ****************************
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
Help Split End Suspe Rfind Rchan Up Down Swap Left Right Curso
|
Der folgende Bildschirm zeigt das Ergebnis des Kommandos, das in der Kommandozeile des obigen Bildschirms angezeigt wird:
EDIT-NAT:NATLIB1(JOB1JCL)-Program->Struct-Free-77K ------ File has been ordered
COMMAND===> SCROLL===> CSR
=cols> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
000090 // #JOBNAME JOB NAT,MSGCLASS=X,CLASS=G,TIME=1400
000100 /*JOBPARM LINES=2000
000110 //COPY EXEC PGM=NATBAT,TIME=60,
000120 // PARM=('DBID=9,FNR=33,FNAT=(,15),FSIZE=19',
000130 // 'EJ=OFF,IM=D,ID='';'',MAINPR=1,INTENS=1')
000140 //STEPLIB DD DISP=SHR,DSN=SPF.SYSF.ADALOAD
000150 // DD DISP=SHR,DSN=SPF.SYSF.LOAD
000160 // DD DISP=SHR,DSN=SPF.SYSF.PROD.INST * OPS INSTALL
000170 // DD DISP=SHR,DSN=SPF.SYSF.SOURCE * OPS DOCUMENTS
000180 //DDCARD DD *
000190 ADARUN DA=9,DE=3380,SVC=249
000200 //CMPRINT DD SYSOUT=X
000210 //CMPRT01 DD SYSOUT=X
000220 //CMWKF01 DD DUMMY
000230 //CMSYNIN DD *
000240 LOGON SYSMAIN2
000250 CMD C C * FM #FL DBID #FD FNR #FF TO #TL DBID #TD FNR #TF REP
000260 FIN
000270 /*
****** **************************** bottom of data ****************************
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
Help Split End Suspe Rfind Rchan Up Down Swap Left Right Curso
|
Die Kommandosequenz:
BNDS 10;JRIGHT 15
richtet die Daten rechts von Spalte 10 in Zeile 15 bis zum Ende des Bildschirms bündig mit der letzten Spalte des Editor-Bildschirms (Spalte 88 des Terminal-Bildschirms) aus.
Alternativ können Sie Zeilen ausrichten, indem Sie eines der nachfolgend aufgeführten Zeilenkommandos benutzen:
| Zeilenkommando | Erläuterung |
|---|---|
LJ |
Richtet die Daten innerhalb der eingestellten Begrenzungen in dieser Zeile bündig mit der linken Begrenzung aus. |
LJJ |
Markiert die die erste Zeile eines Datenblocks innerhalb der Begrenzungen
(die mit dem Hauptkommando BNDS eingestellt wurden),
der linksbündig ausgerichtet werden soll. Ein zweites Zeilenkommando
LJJ ist nötig, um den Block einzugrenzen. Die
Ausrichtung erfolgt, nachdem das zweite Kommando LJJ
abgesetzt worden ist.
|
RJ |
Richtet die Daten innerhalb der eingestellten Begrenzungen in dieser Zeile bündig zur rechten Begrenzung aus. |
RJJ |
Markiert die erste Zeile eines Datenblocks innerhalb der Begrenzungen (die
mit dem Hauptkommando BNDS eingestellt wurden), der
rechtsbündig ausgerichtet werden soll. Ein zweites Zeilenkommando
RJJ ist nötig, um den Block einzugrenzen. Die
Ausrichtung erfolgt, nachdem das zweite Kommando RJJ
abgesetzt worden ist.
|
Sie können Daten auch bündig zur linken Begrenzung ausrichten oder Daten zwischen der
linken und der rechten Begrenzung ausrichten, indem Sie das Kommando
JUSTIFY benutzen.
Beispiel: Die Kommandosequenz
BNDS 10 60;JUSTIFY LEFT
ermöglicht die Ausrichtung mit der linken Begrenzung. Markieren Sie einen Datenblock mit
zwei Zeilenkommandos TOO (Erläuterung weiter unten), um die
Daten zwischen den Spalten 10 und 60 so neu zu formatieren, dass sie bündig mit Zeile 10
ausgerichtet sind.
Dieser Abschnitt beschreibt, wie Sie das Hauptkommando TABS
und/oder das Zeilenkommando TABS benutzen können, um die
Tabulatorstopps zu steuern.
In den Tabellierungsbeispielen, die in diesem Abschnitt enthalten sind, wird davon
ausgegangen, dass das kaufmännische Und-Zeichen (&) als Tabulatorzeichen verwendet
wird und dass das Zeilenkommando COLS abgesetzt worden ist, um
die Spaltenpositionen anzuzeigen.
Dieser Abschnitt behandelt folgende Themen:
Wenn Sie das Hauptkommando TABS ON absetzen, werden die
Standard-Tabulatorpositionen, die in Ihrem Editor-Profil eingestellt sind,
eingeschaltet, und tabs on std erscheint in Ihrem Profil. Um die
Tabulatorstopps wieder auszuschalten, müssen Sie das Hauptkommando TABS
OFF absetzen.
Ausführliche Informationen zur Kommandosyntax, die für das Hauptkommando TABS gilt,
finden Sie im entsprechenden Abschnitt unter Hauptkommandos
(Übersicht).
Dieser Abschnitt behandelt folgende Themen:
Um die Tabulatorfunktion einzuschalten und die Standard-Tabulatorpositionen für Ihr
Profil beispielsweise auf die Spalten 10, 20, 30, 40 und 50 einzustellen, müssen Sie
das Hauptkommando TABS 10 20 30 40 50 absetzen.
Um die Tabulatorfunktion einzuschalten und das logische Tabulatorzeichen
einzustellen, beispielsweise das &-Zeichen, müssen Sie das Hauptkommando
TABS & absetzen.
Sie können Daten eingeben und diese automatisch zu einer bestimmtem Tabulatorposition verschieben, indem Sie vor den Daten ein logisches Tabulatorzeichen eingeben. Ein einzelnes Tabulatorzeichen verschiebt die Daten an die nächste Tabulatorposition, zwei Tabulatorzeichen verschieben die Daten an die zweite Tabulatorposition usw.
Außer den Tabulatorpositionen können Sie mit dem Hauptkommando
TABS noch folgende Parameter angeben:
| Parameter | Erläuterung |
|---|---|
DECIMAL |
Ordnet die Daten so an, dass sich das darin enthaltene Dezimalzeichen an
der Tabulatorposition befindet.
Siehe auch Beispiel 3 - TABS DECIMAL. |
LEFT |
Ordnet die Daten links von der Tabulatorposition an.
Siehe auch Beispiel 1 - Tab Positions. |
RIGHT |
Ordnet die Daten rechts von der Tabulatorposition an.
Siehe auch Beispiel 2 - TABS RIGHT. |
Um das aktuelle logische Tabulatorzeichen und den Verschiebeparameter (unter
Ausschluss der Tabulatorpositionen) anzuzeigen, setzen Sie das Hauptkommando PROFILE
ab.
Wenn Sie das Zeilenkommando TABS in einer beliebigen Zeile
absetzen, werden in dieser Zeile die in Ihrem Editor-Profil eingestellten
Tabulatorpositionen angezeigt und mit einem Stern (*) gekennzeichnet, falls kein
logisches Tabulatorzeichen gesetzt worden ist. Mit diesem Kommando wird die
Tabulatorfunktion nicht eingeschaltet.
Beispiel: Setzen Sie das Zeilenkommando TABS ab, um die
Positionen anzuzeigen, die mit dem Hauptkommando TABS 10 20 30 40
50 eingestellt worden sind.
Dadurch werden die aktuellen Tabulatorpositionen folgendermaßen angezeigt:
=tabs> * * * * * * |
Um Daten in einer bestimmten Spalte mit einer bestimmten Einrückung tabellarisch darzustellen, sind mehrere logische Tabulatorzeichen und gemischte Ausrichtungsparameter möglich.
Um mehrere logische Tabulatorzeichen einzustellen, setzen Sie das Zeilenkommando
TABS ab und überschreiben Sie jeden Stern (*) mit einem
Sonderzeichen. Jegliche Daten, die Sie unter Voranstellung eines dieser Sonderzeichen
eingeben, werden in der entsprechenden Spalte tabuliert.
Um gemischte Ausrichtungsparameter einzustellen, geben Sie rechts neben jedem
logischem Tabulatorzeichen L (Links), R (Rechts) oder
D (Dezimal) für linksbündige, rechtsbündige bzw. am Dezimalzeichen
orientierte Ausrichtung ein.
Siehe auch Beispiel 4 - Gemischte Ausrichtung.
Das Kommando
TABS 10 20 40 LEFT
aktiviert logische Tabulatoren bei den Tabulatorspalten 10, 20 und 40 mit linksbündiger Ausrichtung. Nachdem Sie Enter gedrückt haben, wird die eingegebene Textzeile
&abc &def &ghi
folgendermaßen angezeigt:
=cols> ----+----1----+----2----+----3----+----4----+----5----+----6
abc def ghi
|
Das Kommando
TABS RIGHT
aktiviert logische Tabulatoren mit rechtsbündiger Ausrichtung. Nachdem Sie Enter gedrückt haben, wird die eingegebene Textzeile
&abc &def &ghi
folgendermaßen angezeigt:
=cols> ----+----1----+----2----+----3----+----4----+----5----+----6
abc def ghi
|
Das Kommando
TABS DECIMAL
aktiviert logische Tabulatoren mit Ausrichtung am Dezimalzeichen an der Tabulatorposition. Nachdem Sie Enter gedrückt haben, wird die eingegebene Textzeile
&15.27$ &16.3 EUR &13 IS
folgendermaßen angezeigt:
=cols> ----+----1----+----2----+----3----+----4----+----5----+----6
15.27$ 16.3 EUR 13 IS
|
Setzen Sie folgendes Kommando ab:
TABS 10 20 30 40 50
Setzen Sie dann das Zeilenkommando TABS ab. Dadurch werden
die aktuellen Tabulatorpositionen folgendermaßen angezeigt:
=tabs> * * * * * |
Geben Sie je nach Bedarf neben jeder Tabulatorposition ein L,
R oder D ein (an nicht markierten Tabulatorpositionen wird
der Wert des letzten TAB-Kommandos übernommen):
=tabs> *R *D *D *D *L |
Nachdem Sie Enter gedrückt haben, wird die eingegebene Textzeile
&start &0.01 &0.02 &0.03 &end
folgendermaßen angezeigt:
=cols> ----+----1----+----2----+----3----+----4----+----5----+----6
start 0.01 0.02 0.03 end
|
Setzen Sie folgendes Kommando ab:
TABS ' '
Es aktiviert die Tabulatorfunktion mit einem Leerzeichen als Tabulatorzeichen. Nachdem Sie Enter gedrückt haben, wird die eingegebene Textzeile
this is a blank tabulation
folgendermaßen angezeigt:
=cols> ----+----1----+----2----+----3----+----4----+----5----+----6
this is a blank tabulation
|
Sie können Datenzeilen in aufsteigender oder absteigender alphabetischer Reihenfolge nach Sortierkriterien sortieren. Beispiel: Das Kommando
SORT 10 15
sortiert alle Zeilen im Quellcode in aufsteigender Reihenfolge entsprechend den Zeichen ab Spalte 10 bis zur Spalte 15.
Um nur einen Zeilenblock zu sortieren, können Sie beispielsweise die Zeilen, an denen der
Block anfangen und enden soll, mit .X bzw..Y markieren. Das
Kommando:
SORT .X .Y D
sortiert alle Zeilen in dem mit .X und .Y markierten Block in
absteigender Reihenfolge.
Um beispielsweise einen Zeilenblock entsprechend den Zeichen, die in Spalte 5 beginnen
und in Spalte 20 enden, zu sortieren, markieren Sie die Zeilen, wo der Block anfangen und
enden soll, mit .X und .Y. Das Kommando
SORT 5 20 .X .Y
sortiert alle Zeilen in dem mit .X und .Y markierten Block in
aufsteigender Reihenfolge entsprechend den Zeichen ab Spalte 5 bis zur Spalte 20.
Um eine bestimmte Zeichenkette zu finden, können Sie das Hauptkommando
FIND mit Operanden benutzen, um die die Zeichenkette, den zu
durchsuchenden Bereich und die Suchrichtung zu definieren. Der Cursor wird auf das erste
Zeichen der gefundenen Zeichenkette platziert. Falls die Zeile, die die gesuchte
Zeichenkette enthält, von der Anzeige ausgeschlossen ist, wird sie jetzt in die Anzeige
aufgenommen.
Die folgenden Abschnitte beschreiben die möglichen Kommando-Operanden.
Der Operand für die Definition der Zeichenkette definiert die zu suchende Zeichenkette.
Folgende Angaben sind möglich:
| Operand | Erläuterung | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
* |
Findet die im vorangehenden Kommando FIND
angegebene Zeichenkette.
|
||||||||||||||||
'abc' |
Findet die Zeichenkette abc unabhängig davon, ob sie in Klein-
oder Großschreibung vorliegt.
|
||||||||||||||||
C'Abc' |
Findet exakt die hier Zeichenkette eingegebene Zeichenkette. | ||||||||||||||||
P'a(char)c' |
Findet die Zeichenkette, deren erstes Zeichen ein a und deren
drittes Zeichen ein c ist.
(char) steht für ein Sonderzeichen,
das als Platzhalterzeichen (Wildcard) fungiert. Bedeutung:
|
||||||||||||||||
T'abc' |
Findet die Zeichenkette abc unabhängig davon, ob sie in Klein-
oder Großschreibung vorliegt.
|
||||||||||||||||
X'D4A8' |
Findet die Zeichenkette, die dem Hexadezimalwert D4A8
entspricht.
|
Der Operand für die Suche nach Übereinstimmungen gibt an, ob eine besondere Ausprägung der Zeichenkette gefunden werden soll. Folgende Optionen sind verfügbar:
| Operand | Erläuterung |
|---|---|
CHARS |
Ohne Einschränkungen (jede beliebige Ausprägung der Zeichenkette). |
PREFIX |
Nur die Ausprägungen, die die Vorsilbe (Präfix) eines Wortes sind. |
SUFFIX |
Nur die Ausprägungen, die die Nachsilbe (Suffix) eines Wortes sind. |
WORD |
Nur die Ausprägungen, die ein Wort bilden. |
Die Standardeinstellung ist CHARS.
Der Operand für die Angabe der Suchrichtung gibt an, in welcher Richtung die Suche erfolgen soll.
Folgende Optionen sind verfügbar:
| Operand | Erläuterung |
|---|---|
ALL |
Jede beliebige Ausprägung der Zeichenkette (Suche in allen Richtungen). |
FIRST |
Erstes Vorkommen der Zeichenkette. |
LAST |
Letztes Vorkommen der Zeichenkette. |
NEXT |
Nächstes Vorkommen der Zeichenkette ab der Cursor-Position. |
PREV |
Vorheriges Vorkommen der Zeichenkette. |
Die Standardeinstellung ist NEXT.
Der Operand für die Angabe des Zeilentyps gibt an, ob nur nach ausgeschlossenen oder nur nach eingeschlossenen Zeilen gesucht werden soll. Folgende Optionen sind verfügbar:
| Operand | Erläuterung |
|---|---|
X |
Nur nach Zeilen suchen, die von der Anzeige ausgeschlossen sind. |
NX |
Nur nach Zeilen suchen, die nicht von der Anzeige ausgeschlossen sind. |
Wenn dieser Operand weggelassen wird, durchsucht der Editor alle Daten nach der gegebenen Zeichenkette, in von der Anzeige ausgeschlossenen und nicht von der Anzeige ausgeschlossenen Zeilen. Wird die Zeichenkette in einer ausgeschlossenen Zeile gefunden, dann wird die Zeile wieder zur Anzeige gebracht.
Wenn Sie Zeilen oder einen Zeilenblock markiert haben, können Sie den Block-Operanden
benutzen, um den Suchbereich für das FIND-Kommando
einzuschränken.
Beispiele für den Gebrauch des Block-Operanden:
| Operand | Erläuterung |
|---|---|
.X |
Suche ab der mit .X markierten Zeile bis zum Ende der
Daten.
|
.X .Y |
Suche ab der mit .X markierten Zeile bis zur Zeile, die mit
.Y markiert ist.
|
Dabei können X und Y eine beliebige alphabetische oder eine
aus vier Zeichen bestehende Zeichenkette sein.
Mit dem Spalten-Operanden können Sie die Suche nach der gegebenen Zeichenkette zwischen bestimmten Spalten eingrenzen. Beispiele für den Gebrauch des Spalten-Operanden:
| Operand | Erläuterung |
|---|---|
20 |
Suche nach der gegebenen Zeichenkette ab Spalte 20 (das erste Zeichen der Zeichenkette muss in Spalte 20 sein). |
20 40 |
Suche nach der gegebenen Zeichenkette zwischen Spalte 20 bis 40. |
F C'HILITE' X PREV
Suche nach dem vorangegangenen Vorkommen der Zeichenkette HILITE, und zwar
exakt wie hier eingegeben. Suche nur nach ausgeschlossenen Zeilen.
F P'RCV#' .X .Z 20 30
Suche nach der Zeichenkette, die mit RCV beginnt, mit einem numerischen
vierten Zeichen zwischen dem Block .X .Z, und zwischen den Spalten 20 bis
30.
F X'6C' SUFFIX NX
Suche nach dem Zeichen, das dem Hexadezimalwert 6C entspricht, und zwar
nur in nicht von der Anzeige ausgeschlossenen Zeilen. Das Zeichen muss am Ende eines
Wortes stehen.
| Command | Erläuterung |
|---|---|
F C'HILITE' X PREV |
Suche nach dem ersten Vorkommen der Zeichenkette HILITE, und
zwar exakt wie hier eingegeben. Suche nur in ausgeschlossenen Zeilen.
|
F P'RCV#' .X .Z 20 30 |
Suche nach der Zeichenkette, die mit RCV beginnt, mit einem
numerischen vierten Zeichen zwischen dem Block .X .Z, und zwischen
den Spalten 20 bis 30.
|
F X'6C' SUFFIX NX |
Suche nach dem Zeichen, das dem Hexadezimalwert 6C entspricht,
und zwar nur in nicht von der Anzeige ausgeschlossenen Zeilen. Das Zeichen muss
am Ende eines Wortes stehen.
|
Falls die zu suchende Zeichenkette einzelne Hochkommazeichen enthält, müssen Sie im
FIND-Kommando ein anderes Trennzeichen benutzen, zum
Beispiel doppelte Hochkommazeichen:
FIND C"'string'"
Mit dem Hauptkommando RFIND können Sie ein vorangegangenes
FIND-Kommando wiederholen.
Sie können eine gegebene Zeichenkette suchen und durch eine andere Zeichenkette ersetzen,
indem Sie das Hauptkommando CHANGE benutzen.
Falls die zu ersetzende Zeichenkette Apostrophe enthält, müssen Sie im
CHANGE-Kommando ein anderes Trennzeichen benutzen, zum
Beispiel Anführungszeichen:
CHANGE "'string1'" "'string2'"
Beim CHANGE-Kommando können Sie die gleichen Operanden wie
beim FIND-Kommando benutzen. Beim
CHANGE-Kommando bedeuten jedoch die Richtungsoperanden
ALL, dass alle Vorkommen der angegebenen Zeichenkette geändert werden
sollen.
Nachdem der Ersetzungsvorgang abgeschlossen ist, erscheint im Präfixbereich der
geänderten Zeile die Meldung ==chg>
Dieser Abschnitt behandelt folgende Themen:
| Kommando | Erläuterung |
|---|---|
CHG 'LOW' 'HIGH' |
Ersetzt das erste Vorkommen von HIGH (Groß-/Kleinschreibung
wird nicht beachtet).
|
CHG C'OPS' 'SPF' .X .Y 28 32
all |
Ersetzt OPS (exakt wie hier eingegeben) durch
SPF; ersetze alle
Vorkommen in dem mit .X und .Y markierten Block und
zwischen den Spalten 28 und 32.
Siehe auch Beispiel-Bildschirme weiter unten. |
|
Wiederholte
CHANGE-Kommandos: |
|
CHG * 'NEW' |
Ersetzt das nächste Vorkommen der Zeichenkette, die in dem letzten
CHANGE-Kommando angegeben wurde, durch die neue
Zeichenkette NEW.
|
CHG 'OLD' * |
Ersetzt OLD durch dieselbe neue Zeichenkette, die im letzten
CHANGE-Kommando angegeben wurde.
|
Der folgende Bildschirm veranschaulicht das zweite Beispiel bevor das Kommando mit Enter ausgeführt wurde:
EDIT-NAT:NATLIB1(JOB1JCL)-Program->Struct-Free-77K ------------ Columns 001 072
COMMAND===> CHG C'OPS' 'SPF' .X .Y 28 32 ALL SCROLL===> CSR
****** ****************************** top of data *****************************
=cols> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
000010 RESET #JOBNAME(A8)
000020 RESET #FD(N3) #FL(A8) #FF(N3)
000030 RESET #TD(N3) #TL(A8) #TF(N3)
000040 COMPRESS *INIT-USER 'SM' INTO #JOBNAME LEAVING NO SPACE
000050 SET CONTROL 'WL60C6B005/010F'
000060 INPUT 'Enter PARAMETERS FOR LIBRARY COPY:'
000070 / 'FROM: DBID:' #FD 'FNR:' #FF 'LIB:' #FL
000080 / 'TO : DBID:' #TD 'FNR:' #TF 'LIB:' #TL
000090 // #JOBNAME JOB NAT,MSGCLASS=X,CLASS=G,TIME=1400
000100 /*JOBPARM LINES=2000
000110 //COPY EXEC PGM=NATBAT,TIME=60,
000120 // PARM=('DBID=9,FNR=33,FNAT=(,15),FSIZE=19',
000130 // 'EJ=OFF,IM=D,ID='';'',MAINPR=1,INTENS=1')
.X //STEPLIB DD DISP=SHR,DSN=OPS.SYSF.ADALOAD
000150 // DD DISP=SHR,DSN=OPS.SYSF.LOAD
000160 // DD DISP=SHR,DSN=OPS.SYSF.PROD.INST * OPS INSTALL
.Y // DD DISP=SHR,DSN=OPS.SYSF.SOURCE * OPS DOCUMENTS
000180 //DDCARD DD *
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
Help Split End Suspe Rfind Rchan Up Down Swap Left Right Curso
|
Der folgende Bildschirm veranschaulicht das zweite Beispiel nachdem das Kommando mit Enter ausgeführt wurde:
EDIT-NAT:NATLIB1(JOB1JCL)-Program->Struct-Free-77K ------ 4 char 'OPS' changed
COMMAND===> SCROLL===> CSR
****** ****************************** top of data *****************************
=cols> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
000010 RESET #JOBNAME(A8)
000020 RESET #FD(N3) #FL(A8) #FF(N3)
000030 RESET #TD(N3) #TL(A8) #TF(N3)
000040 COMPRESS *INIT-USER 'SM' INTO #JOBNAME LEAVING NO SPACE
000050 SET CONTROL 'WL60C6B005/010F'
000060 INPUT 'Enter PARAMETERS FOR LIBRARY COPY:'
000070 / 'FROM: DBID:' #FD 'FNR:' #FF 'LIB:' #FL
000080 / 'TO : DBID:' #TD 'FNR:' #TF 'LIB:' #TL
000090 // #JOBNAME JOB NAT,MSGCLASS=X,CLASS=G,TIME=1400
000100 /*JOBPARM LINES=2000
000110 //COPY EXEC PGM=NATBAT,TIME=60,
000120 // PARM=('DBID=9,FNR=33,FNAT=(,15),FSIZE=19',
000130 // 'EJ=OFF,IM=D,ID='';'',MAINPR=1,INTENS=1')
.X //STEPLIB DD DISP=SHR,DSN=SPF.SYSF.ADALOAD
==chg> // DD DISP=SHR,DSN=SPF.SYSF.LOAD
==chg> // DD DISP=SHR,DSN=SPF.SYSF.PROD.INST * OPS INSTALL
.Y // DD DISP=SHR,DSN=SPF.SYSF.SOURCE * OPS DOCUMENTS
000180 //DDCARD DD *
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
Help Split End Suspe Rfind Rchan Up Down Swap Left Right Curso
|
Alle Vorkommen der Zeichenkette OPS sind zwischen den Zeile 140 und 170
und innerhalb der Spalten 28 durch die Zeichenkette SPF bis 32 ersetzt
worden.
Beim Ändern von Zeichenketten sind die folgenden Kommandos hilfreich:
RFIND (wiederholtes FIND) und
RCHANGE (wiederholtes
CHANGE)
Beispiel: Mit der Kommandosequenz
FIND 'abc' CHANGE 'abc' 'def' RFIND RCHANGE
können Sie Vorkommen einer bestimmten Zeichenkette finden und diese wahlweise mit relativ geringem Aufwand ändern.