Maske bearbeiten — Funktion "Edit Map"

Dieser Abschnitt beschreibt die Bildschirm-Modi und Kommandos, die beim Bearbeiten einer Maske zur Verfügung stehen:


Bildschirm-Modi

Zu Beginn einer Masken-Editor-Sitzung wird zunächst immer der Split-Screen-Modus aufgerufen. Dabei enthält die obere Hälfte des Masken-Editor-Bildschirms Datendefinitionen anderer Natural-Objekte (siehe Definitionen aus anderen Objekten übernehmen) und/oder die aktuellen Trennwert-(Delimiter-)Einstellungen. Die untere Hälfte des Bildschirms enthält den Editierbereich. Siehe folgendes Beispiel:

  Ob _                                    Ob D CLS ATR DEL     CLS ATR DEL     
   .                                       .     T  D    Blnk    T  I    ?      
   .                                       .     A  D    _       A  I    )      
   .                                       .     A  N    ¬       M  D    &      
   .                                       .     M  I    :       O  D    +      
   .                                       .     O  I    (                      
   .                                       .                                    
   001   --010---+----+----+---030---+----+----+---050---+----+----+---070---+- 
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
  Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
        Help  Mset  Exit  Test  Edit  --    -     +     Full  <     >     Let

Mit PF9 können Sie zwischen Vollbild- und Split-Screen-Modus hin- und herschalten.

Sie können den Masken-Editierbereich verlassen, indem Sie PF3 drücken oder einen Punkt (.) in den Eingabefeldern Ob im oberen Bereich des Bildschirms eingeben.

PF-Tasten und Kommandos zum Positionieren

Mit den PF-Tasten und Kommandos, die in der folgenden Liste enthalten sind, können Sie eine Editor-Funktion aufrufen oder im Masken-Editierbereich navigieren. Die Kommandos geben Sie am Anfang einer Maskenzeile ein:

PF-Taste Kommando Erläuterung
PF1   Ruft die Hilfe-Funktion des Masken-Editors auf.
PF2   Ermöglicht die Anzeige und das Ändern der aktuellen Masken-Einstellungen.
PF3 .Q Beendet die Bearbeitung der Maske. Es erscheint wieder das Menü Edit Map.
PF4   Testet die Masken-Definition.
PF5   Ruft die Funktion zur erweiterten Feldbearbeitung zu dem Feld auf, in dem sich zurzeit der Cursor befindet..
PF6 .-- An den Anfang der Maske positionieren.
PF7   .- Eine halbe Fensterseite nach oben positionieren.
.-nnn Um nnn Zeilen nach oben positionieren.
PF8     .+ Eine halbe Fensterseite nach unten positionieren.
.+nnn Um nnn Zeilen nach unten positionieren.
.++ An das Ende der Masken positionieren.
PF9 ./ Umschalten zwischen Split-Screen- und Vollbild-Modus.
PF10     .< Eine halbe Fensterseite nach links positionieren.
.<nnn Um nnn Spalten nach links positionieren.
.<< An den linken Rand der Maske positionieren.
PF11     .> Eine halbe Fensterseite nach rechts positionieren.
.>nnn Um nnn Spalten nach rechts positionieren.
.>> An den rechten Rand der Maske positionieren.
PF12     Abbruch der Bearbeitung. Alle seit dem letzten Drücken der Enter-Taste vorgenommenen Änderungen werden verworfen.
.* Linke obere Ecke zur Cursor-Position verschieben.
PF13 ..X Nur verfügbar, wenn Ihr Terminal bzw. Ihre Terminal-Emulation die Anzeige von Feldumrahmungen gestattet.

Umschalten zwischen dem Editierbereich des Masken-Editors und dem Outline Editor.

Zeilenkommandos

Zeilenkommandos müssen in folgender Form eingegeben werden:

..line-command

wobei die zwei Punkte (..) zwei Ausprägungen der für die Maskendefinition wirksamen Steuerzeichen darstellen.

Anmerkung:
Es wird empfohlen, am Ende eines jeden Zeilenkommandos ein Leerzeichen einzugeben. Dadurch wird verhindert, dass der Editor versucht, die anschließenden Informationen in der Zeile als Bestandteil des Zeilenkommandos zu interpretieren.

Folgende Zeilenkommandos stehen beim Masken-Editor zur Verfügung:

Kommando Erläuterung
..A Array-Tabellen-Definition (siehe Abschnitt Array- und Tabellen-Definitionen).
..An Array-Tabellen-Definition mit n Ausprägungen.

Dieses Kommando können Sie benutzen, um eine Tabelle mit vertikal n Ausprägungen für alle in der aktuellen Zeile angegebenen Felder zu erstellen.

..C Zentriert eine einzelne Zeile (d.h. die Zeile, in der das Kommando eingegeben wurde).

Zwei Kommandos ..C, die auf demselben Bildschirm eingegeben werden, zentrieren die erste Zeile und passen den Rest der selektierten Zeilen an.

..Cn Zentriert die Zeile und verschiebt die n-1 Zeilen darunter entsprechend.
..C* Zentriert die Zeile und verschiebt alle Zeilen darunter entsprechend.
..D Löscht eine einzelne Zeile (d.h. die Zeile, in der das Kommando eingegeben wurde).

Zwei Kommandos ..D, die auf demselben Bildschirm eingegeben werden, löschen den Zeilenblock, der durch diese Kommandos eingegrenzt wird.

..Dn Löscht die Zeile und die n-1 Zeilen darunter.
..D* Löscht die Zeile und alle Zeilen darunter.

Falls der Löschvorgang Array-Elemente betrifft, wird das gesamte Array gelöscht.

..E Dient zum Aufrufen des Bildschirms Field and Variable Definitions - Summary der Funktion Field and Variable Definitions (siehe Funktionen im Menü "Edit Map") für alle Felder, die in der betreffenden Zeile enthalten sind.

Zwei Kommandos ..E, die auf demselben Bildschirm eingegeben werden, bringen alle Felder zur Anzeige, die sich innerhalb des Zeilenbereiches befinden, der durch diese Kommandos eingegrenzt wird.

..En Dient zum Aufrufen des Bildschirms Field and Variable Definitions - Summary der Funktion Field and Variable Definitions (siehe Funktionen im Menü "Edit Map") für die Zeile und die n-1 Zeilen darunter.
..E* Dient zum Aufrufen des Bildschirms Field and Variable Definitions - Summary der Funktion Field and Variable Definitions (siehe Funktionen im Menü "Edit Map") für die Zeile und alle Zeilen darunter.

Die Kommandos ..E bringen einen Bildschirm mit dem Namen und der Natural-Daten-Format/Länge der angeforderten Felder zur Anzeige. Die gezeigten Feldnamen können geändert werden. In der Spalte Cmd können Sie die gewünschte Funktion auswählen: Erweiterte Feld-Bearbeitung, Bearbeitung von Array-Definitionen und Verarbeitungsregeln.

..Fc Füllt die Leerräume in einer Zeile mit dem Buchstaben c auf.
..I Fügt eine einzelne Zeile ein.

Um das Einfügen der Zeile zu ermöglichen, wird die letzte Leerzeile auf dem Bildschirm gelöscht,.

..In Fügt n Zeilen unterhalb der Zeile ein, in der das Kommando eingegeben wurde.
..I* Fügt so viele Zeilen wie möglich unterhalb der Kommandozeile ein.
..J Führt die Zeile, in der das Kommando eingegeben wurde, mit der unter ihr befindlichen Zeile zusammen.

Zwei Kommandos ..J, die auf demselben Bildschirm eingegeben werden, bewirken, dass der mit diesen Kommandos eingegrenzte Zeilenbereich zusammengeführt wird.

..Jn Führt die Zeile, in der das Kommando eingegeben wurde, mit den n-1 unter ihr befindlichen Zeilen zusammen.
..J* Führt die Zeile mit allen Zeilen zusammen, die sich unter ihr befinden.

Wenn beim Zusammenführen von Zeilen eine zu lange Zeile entsteht, wird die untere Zeile an einer soweit wie möglich rechts gelegenen Stelle aufgespalten und der linke Teil wird dann mit der vorhergehenden Zeile zusammengeführt. Der rechte Teil der aufgespaltenen Zeile wird dann so weit nach links verschoben, bis er in einer senkrechten Linie mit der Zeile abschließt, in der das Kommando eingegeben wurde.

..L Dient zum Aufrufen des Bildschirms Modify INCDIR Statements of Map, in dem Sie die INCDIR-Statements auflisten und aktualisieren können, die für Maskenfelder generiert wurden, welche aus DDMs kopiert wurden (siehe Referenzen auf DDMs prüfen und korrigieren.
..M Verschiebt die Zeile, in der das Kommando eingegeben wird, unter die mit dem Cursor markierte Zeile.

Zwei Kommandos ..M, die auf demselben Bildschirm eingegeben werden, bewirken, dass der mit diesen Kommandos eingegrenzte Zeilenblock unter die mit dem Cursor markierte Zeile verschoben wird.

..Mn Verschiebt die Zeile, in der das Kommando eingegeben wird, und die n-1 unter ihr befindlichen Zeilen unter die mit dem Cursor markierte Zeile.
..M* Verschiebt die Zeile, in der das Kommando eingegeben wird, und alle unter ihr befindlichen Zeilen unter die mit dem Cursor markierte Zeile.

Dieses Kommando ist nur zweckmäßig, wenn sich die mit dem Cursor markierte Zeile oberhalb der Zeile befindet, in der Das Kommando eingegeben wird.

..P Ruft die Bearbeitung der PF-Tasten-Verarbeitungsregeln auf.

Bei den PF-Tasten-Verarbeitungsregeln handelt es sich um spezielle Verarbeitungsregeln zum Definieren von Aktivitäten, die programmsensitiven PF-Tasten zugewiesen werden.

..Pn Ruft die Bearbeitung der PF-Tasten-Verarbeitungsregeln für Rangebene n auf.
..P* Listet alle Verarbeitungsregeln auf, die für die PF-Tasten in dieser Maske definiert sind.
..Q Beendet die Bearbeitung der Maske. Es erscheint wieder das Menü Edit Map.
..R Wiederholt alle Literal-Zeichenketten einmal in der Zeile, in der das Kommando eingegeben wurde. Die Cursor-Position dient zur Anzeige der Zielzeile.

Zwei Kommandos ..R, die auf demselben Bildschirm eingegeben werden, bewirken, dass die Literal-Zeichenketten innerhalb des mit diesen Kommandos eingegrenzten Zeilenblocks wiederholt werden.

..Rn Wiederholt alle Literal-Zeichenketten in dieser und den n-1 darauf folgenden Zeilen. Falls sich der Cursor unterhalb der Kommandozeile befindet, wird derselbe Text n Mal wiederholt.
..S Spaltet die Zeile an der Cursor-Position auf.

Zwei Kommandos ..S, die auf demselben Bildschirm eingegeben werden, bewirken, dass der mit diesen Kommandos eingegrenzte Zeilenblock aufgespalten wird.

..Sn Spaltet die Zeile, in der das Kommando eingegeben wird, und die n-1 unter ihr an der Cursor-Position auf.
..X Nur verfügbar, wenn Ihr Terminal bzw. Ihre Terminal-Emulation die Anzeige von Feldumrahmungen gestattet.

Umschalten zwischen dem Editierbereich des Masken-Editors und dem Outline Editor. Als Alternative zu diesem Zeilenkommando können Sie PF13 benutzen.

Feld-Kommandos

Feld-Kommandos müssen Sie in folgender Form eingeben:

.field-command

wobei der Punkt (.) das für die Maskendefinition wirksame Steuerzeichen darstellt.

Jedes Kommando muss in der ersten Position eines Texts oder Datenfeldes beginnen.

Ein Feld-Kommando können Sie auf einen Bereich von Feldern oder Konstanten anwenden. Zur Festlegung eines Bereichs haben Sie folgende Möglichkeiten:

  • Sie können zwei oder noch mehr Feld-Kommandos im selben Bildschirm benutzen. Der Spaltenbereich (horizontaler Bereich) und der Zeilenbereich (vertikaler Bereich) werden durch die Positionen der Kommandos bestimmt. (Im Map Editor Tutorial wird dies anhand einiger Beispiele veranschaulicht.)

  • Sie können einen Wiederholungsfaktor n benutzen. Das Kommando wird bei dem vorgesehenen Feld und außerdem in den Feldern in den n-1 Zeilen unter diesem Feld angewendet. Ein Stern (*) als Wiederholungsfaktor bewirkt, dass das Kommandos solange wiederholt wird, bis das untere Ende der Maske erreicht ist.

Anmerkung:
Es wird empfohlen, am Ende eines jeden Feld-Kommandos ein Leerzeichen einzugeben. Dadurch wird verhindert, dass der Editor versucht, Teile des Feldes als Bestandteil des Feld-Kommandos zu interpretieren.

Folgende Feld-Kommandos stehen beim Masken-Editor zur Verfügung:

Kommando Erläuterung
.A Definiert ein Array. Dieses Kommando können Sie nur bei einem einzelnen Feld (nicht bei einem Bereich von Feldern) anwenden.

Die Array-Definition (siehe Array- und Tabellen-Definitionen) wird auf dem dafür vorgesehenen Bildschirm angegeben. Das resultierende Array wird mit seiner linken oberen Ecke an der Stelle positioniert, an der das Kommando eingegeben wurde.

Sie können ein Array redefinieren, indem Sie das Kommando .A bei einem seiner Elemente anwenden.

.An Beim Kommando .A können Sie einen Wiederholungsfaktor n angeben, um so ein eindimensionales Array (kein Abstand, kein Versatz) zu definieren, ohne dafür einen separaten Funktionsbildschirm benutzen zu müssen.
.C Zentriert ein Feld oder einen Bereich von Feldern zwischen angrenzenden Feldern.

Um ein einzelnes Feld zu zentrieren, müssen Sie das Kommando .C in das zu zentrierende Feld eingeben.

Um einen Bereich von Feldern zu zentrieren, müssen Sie das Kommando .C in das erste und das letzte zu zentrierende Feld eingeben. Alternativ können Sie Sie das Kommando .C in das erste zu zentrierenden Feld eingeben und den Cursor in das letzte zu zentrierenden Feld setzen.

Falls kein angrenzendes Feld oder keine angrenzenden Felder vorhanden sind, werden stattdessen die für die Masken-Definition wirksamen Spaltenbegrenzungen benutzt.

.D Löscht ein Feld oder einen Bereich von Feldern.

Um ein einzelnes Feld zu löschen, müssen Sie das Kommando .D in das zu löschende Feld eingeben.

Um einen Bereich von Feldern zu löschen, müssen Sie das Kommando .D in das erste und das letzte zu löschende Feld eingeben. Der zu löschende Bereich von Feldern kann länger als eine Zeile sein. Wenn Sie ein Array-Element löschen, wird das ganze Array gelöscht.

.E Aufruf der Funktion zur erweiterten Feld-Bearbeitung (siehe entsprechenden Abschnitt) für das Feld, in dem sich zurzeit der Cursor befindet. Dieses Kommando können Sie nur bei einem einzelnen Feld (nicht bei einem Bereich von Feldern) anwenden.

Zum Aufrufen der Funktion zur erweiterten Feld-Bearbeitung können Sie auch den Cursor in das ausgewählte Feld stellen und PF5 drücken.

.J Fügt Felder zusammen, die sich in aufeinander folgenden Zeilen befinden.

Die linke Begrenzung für die Zusammenfügung entspricht der Stelle, an der das Kommando .J eingegeben wird, und die rechte Begrenzung entspricht der Position des Cursors.

.M Verschiebt ein Feld oder einen Bereich von Feldern.

Um ein einzelnes Feld zu verschieben, müssen Sie das Kommando .M in das zu verschiebende Feld eingeben und den Cursor in die Zielposition stellen.

Um einen Bereich von Feldern zu verschieben, müssen Sie das Kommando .M in das erste und das letzte zu verschiebende Feld eingeben und den Cursor in die Zielposition stellen.

.P[n] Ermöglicht die Bearbeitung von Verarbeitungsregeln (siehe entsprechenden Abschnitt) für ein Feld.

Um die Priorität (den Rang) der zu bearbeitenden Verarbeitungsregel anzugeben, können Sie beim Kommando .P einen Parameter n mit angeben. Falls nötig, können Sie den Wert für n in runden Klammern () einschließen.

.R Wiederholt (kopiert) ein Feld oder einen Bereich von Feldern.

Um ein einzelnes Feld zu kopieren, müssen Sie das Kommando .R in das zu kopierende Feld eingeben und den Cursor in die Zielposition stellen.

Um einen Bereich von Feldern zu kopieren, müssen Sie das Kommando .R in das erste und das letzte zu kopierende Feld eingeben und den Cursor in die Zielposition stellen.

Die Wiederholung erfolgt immer abwärts und von links nach rechts. Den Feldern, die mit diesem Kommando erzeugt werden, wird ein funktionsloser Blindname zugewiesen. Um einem solchen Feld einen gültigen Namen zuzuweisen, müssen Sie die Vorgehensweise zum nachträglichen Zuweisen von Feldern oder Funktion zur erweiterten Feld-Bearbeitung anwenden (siehe entsprechenden Abschnitt).

Anmerkung:
Arrays können nicht kopiert werden.

.S Spaltet (verschiebt) eine Zeile oder einen Bereich von Zeilen.

Geben Sie .S in das Feld ein, in dem die Aufspaltung beginnen soll, und setzen Sie den Cursor an die Zielposition. Die Zeile wird an der Stelle geteilt, an der das Kommando .S eingegeben wurde. Der rechte Teil wird dann an die Cursor-Position verschoben.

.T Verkürzt (löscht) ein Feld oder einen Bereich von Feldern in einer Zeile.

Geben Sie .T in das Feld ein, bei dem die Verkürzung beginnen soll. Wenn Sie dieses Kommando benutzen, um ein Array-Element zu verkürzen (zu löschen), wird das ganze Array gelöscht.