Programm-Editor

#### Search Results

Search

# Programm-Editor

Der Natural-Programm-Editor wird benutzt, um den Quellcode eines Natural-Objekts des Typs Programm, Subprogramm, Subroutine, Helproutine, Copycode, Text, Class oder Function zu erstellen und zu ändern.

Anmerkung
Der Programm-Editor ist standardmäßig in Ihrer Umgebung abgeschaltet (deaktiviert). Weitere Information siehe NaturalONE als Standard-Entwicklungsumgebung und Abgeschaltete CUI-Editoren.

Die Dokumentation des Programm-Editors ist in folgende Teile gegliedert:

- Programm-Editor aufrufen

- Editor-Kommandozeile

- Obere Informationszeile

- Editierbereich

- Untere Informationszeile

- Editor-Kommandos

- Editor-Kommandos zum Positionieren

- Zeilenkommandos

- Spezielle PF-Tastenfunktionen

- Cursorsensitive Kommandos

- Quellcode speichern und katalogisieren

- Exit-Funktion

#### Verwandtes Thema:

Informationen zur Unterstützung von Unicode und Codepages bei den Natural-Editoren siehe Editoren in der SPoD-Umgebung in der Unicode- und Codepage-Unterstützung-Dokumentation.

## Programm-Editor aufrufen

Um den Programm-Editor aufzurufen:

- Benutzen Sie das Systemkommando `EDIT`. Weitere Informationen siehe Systemkommandos-Dokumentation.

  Wenn der Programm-Editor aufgerufen wird, erscheint der Editor-Bildschirm (Beispiel):

      >                                       > +  Program     SAGDEMO  Lib SAGTEST
      All    ....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
        0010 ** EXAMPLE 'SAGDEMO': DISPLAY
        0020 ************************************************************************
        0030 DEFINE DATA LOCAL
        0040 1 VIEWEMP VIEW OF EMPLOYEES
        0050   2 PERSONNEL-ID
        0060   2 NAME
        0070   2 BIRTH
        0080   2 JOB-TITLE
        0090 END-DEFINE
        0100 *
        0110 READ (3) VIEWEMP BY BIRTH
        0120   DISPLAY PERSONNEL-ID NAME JOB-TITLE
        0130 END-READ
        0140 END
        ....
        0280
             ....+....1....+....2....+....3....+....4....+....5....+... S 14   L 1

  Der Editor-Bildschirm hat folgende Bestandteile (von oben nach unten): die Editor-Kommandozeile, die obere Informationszeile, den Editierbereich und die untere Informationszeile. Diese Bestandteile werden in den folgenden Abschnitten erklärt.

Anmerkung
Falls Natural ISPF installiert ist und falls im Editor-Profil die Option ISPF Editor as Programm-Editor auf `Y` gesetzt ist, dann wird anstelle des Programm-Editors entweder das Natural ISPF Hauptmenü (wenn das `EDIT`-Kommando ohne Objektname eingegeben wurde) oder der Natural ISPF Editor-Bildschirm mit dem angegebenen Objekt aufgerufen.

## Editor-Kommandozeile

Die Editor-Kommandozeile wird durch ein Größer-als-Zeichen (>) oben am linken Bildschirmrand angezeigt. In der Kommandozeile können Sie Folgendes eingeben:

- Ein beliebiges Natural-Systemkommando.

  Beispiel: Sie können das Systemkommando `CHECK` benutzen, um die Quellcode-Syntax zu prüfen, und das Systemkommando `SAVE`, um den Quellcode zu speichern (siehe auch Quellcode speichern und katalogisieren).

  Informationen zu weiteren Systemkommandos, die zur Pflege und Benutzung von Source-Objekten dienen, siehe Anwendungen mit Natural-Programmobjekten pflegen in der Systemkommandos-Dokumentation.

- Ein oder mehrere Editor-Kommandos.

- Den Namen eines Natural-Programms, das ausgeführt werden soll.

Außerdem enthält die oberste Zeile folgende Bestandteile (von links nach rechts):

Richtungsanzeige: `+` oder `-` | Die Richtungsanzeige kann gesetzt werden, um die Ausführungsrichtung der Editor-Kommandos `ADD` und `SCAN` und der Zeilenkommandos `.C`, `.I` und `.M` zu steuern. Das Pluszeichen (+) steht für nach und das Minuszeichen (-) für vor. Die genaue Interpretation können Sie der Beschreibung des betreffenden Kommandos entnehmen. Siehe auch die Editor-Profil-Option Direction Indicator im Abschnitt Editor-Profil.
Objekttyp | Der Typ des Objekts, das sich zurzeit im Quellcode-Arbeitsbereich befindet. Wenn beim Aufrufen des Programm-Editors kein Objekttyp oder Objektname angegeben wird, dann wird standardmäßig Program als Objekttyp angezeigt. Um den Objekttyp zu ändern, können Sie das Editor-Kommando `SET TYPE` benutzen.
Änderungsanzeige: `*` | Ein Stern (*) zeigt an, ob der Quellcode, der sich zurzeit im Quellcode-Arbeitsbereich befindet, noch nicht gespeicherte Änderungen enthält. Der Stern (*) erscheint auch bei neuem Quellcode, der noch nicht als Source-Objekt gespeichert worden ist. Der Stern (*) ist nur dann sichtbar, wenn die Editor-Profil-Option Source Status Message auf `Y` gesetzt ist (siehe Editor-Profil). Der Stern (*) verschwindet, wenn Sie den Quellcode erfolgreich speichern und katalogisieren, indem Sie ein `SAVE`- oder `STOW`-Kommando ausführen. Siehe auch Exit-Funktion.
Objektname | Der Name des Objekts, das sich zurzeit im Quellcode-Arbeitsbereich befindet. Wenn der Quellcode-Arbeitsbereich leer ist oder wenn der Quellcode noch nicht als Source-Objekt mit dem Kommando `SAVE`, `CATALOG` oder `STOW` gespeichert worden ist, wird kein Name angezeigt.
Lib | Die Library, bei der Sie zurzeit angemeldet sind.

## Obere Informationszeile

Die obere Informationszeile des Editor-Bildschirms enthält ein Lineal und folgende Informationen:

- Eine Meldung, die eine Objekt-Änderung anzeigt. Diese Information wird nur angezeigt, wenn die Editor-Profil-Option Source Status Message auf `Y` gesetzt ist (siehe Editor-Profil).

- Der zurzeit wirksame Programmiermodus (Structured oder Reporting). Wenn ein Natural-Objekt in den Quellcode-Arbeitsbereich eingelesen wird, wird der Programmiermodus auf den Modus gesetzt, der eingestellt war, als das Objekt mit dem Kommando `SAVE` oder `STOW` gespeichert wurde. Diese Information wird nur angezeigt, wenn die Editor-Profil-Option Source Size Information auf `Y` gesetzt ist (siehe Editor-Profil).

  Informationen zu den Unterschieden zwischen Structured- und Reporting-Modus siehe Zweck der Programmiermodi im Leitfaden zur Programmierung.

## Editierbereich

Der Editierbereich des Editor-Bildschirms enthält nummerierte Zeilen, in denen Sie Quellcode eingeben oder ändern können.

Der Editierbereich ist entweder leer oder er enthält den Quellcode, der zuletzt mit dem Kommando `EDIT` oder `READ` in den Quellcode-Arbeitsbereich eingelesen wurde. Siehe Programm-Beispiel im Abschnitt Programm-Editor aufrufen.

Wenn Sie den Quellcode eines existierenden Objekts einlesen, wird der gesamte Quellcode in den Quellcode-Arbeitsbereich geladen und steht dort zum Bearbeiten zur Verfügung. Je nach Größe des Quellcodes kann es sein, dass nicht alle Zeilen, die zum Quellcode gehören, im Editierbereich angezeigt werden. In diesem Fall müssen Sie im Quellcode weiter nach unten blättern (siehe Editor-Kommandos zum Positionieren), um zu der Zeile zu gelangen, die Sie ansehen oder ändern möchten.

Wenn Sie den Split-Screen-Modus benutzen, zeigt der Editierbereich weniger Quellcode-Zeilen an. Siehe auch Split-Screen-Modus.

Sie haben mehrere Möglichkeiten, um Quellcode zu erstellen oder zu bearbeiten:

- Sie können den Code direkt in der betreffenden Quellcode-Zeile eingeben oder ändern.

- Sie können eines oder mehrere Editor-Kommandos (siehe entsprechenden Abschnitt) benutzen.

- Sie können eines oder mehrere Zeilenkommandos benutzen (siehe entsprechenden Abschnitt) benutzen.

Beachten Sie bitte folgende Hinweise, wenn Sie mehrere Funktionen ausführen:

- Sie können immer nur ein Einfüge-Zeilenkommando (`.I`) auf einmal ausführen.

- In der Kommandozeile des Editors können Sie mehr als ein Editor-Kommando eingeben, aber nur das letzte in der Editor-Kommandozeile eingegebene Kommando darf ein Systemkommando sein.

  Beispiel:

      SC 'MOVE',-2,RENUMBER

  Anmerkung
  Natural behandelt das Editor-Kommando `N` wie ein Systemkommando. `N` entspricht dem Systemkommando `RENUMBER`.

- Wenn Sie den Quellcode durch Eingabe einer Änderung oder durch Benutzung eines Editor-Kommandos geändert haben, können Sie erst dann ein Systemkommando eingeben, wenn Sie Enter gedrückt haben.

### Dynamische Umsetzung von Kleinbuchstaben in Großbuchstaben

Sie können die dynamische Umsetzung in Großbuchstaben aktivieren oder deaktivieren, indem Sie im Editor-Profil die entsprechenden Optionen Editing in Lower Case und Dynamic Conversion of Lower Case auf `Y` setzen (siehe Editor-Profil). Jeglicher Quellcode, den Sie im Editierbereich eingeben, wird dann in Großbuchstaben umgesetzt.

Ausnahmen:

- Der Inhalt des Natural-Objekttyps Text bleibt so, wie eingegeben.

- Eine Textzeichenkette, die nicht

  - eine hexadezimale Konstante oder

  - eine hexadezimale Unicode-Konstante ist

  und die durch Apostrophe und Ausrufungszeichen eingeschlossen ist, bleibt so, wie Sie sie eingeben.

- DBCS-Zeichen (DBCS = Double-Byte Character Set), die durch Shift-out- und Shift-in-Zeichen eingeschlossen sind, bleiben so, wie Sie sie eingeben.

- Ein Kommentar, der durch die Zeichenkette Leerzeichen-Schrägstrich-Stern (/*) angezeigt wird, bleibt so, wie Sie sie eingeben.

  Vorsicht
  Wenn die Zeichenkette Leerzeichen-Schrägstrich-Stern (/*) einen ausführbaren Teil eines Statements bezeichnet, muss sie ohne Leerzeichen (/*) vor der Zeichenkette angegeben werden. Andernfalls wird die Zeichenkette als Kommentar betrachtet.

## Untere Informationszeile

Die untere Informationszeile des Editor-Bildschirms enthält ein Lineal und außerdem folgende Informationen:

- #### Current Source Size - Aktuelle Quellcode-Größe

  Die Größe (Anzahl der Zeichen) des aktuellen Quellecodes. Da Quellcode-Zeilen im Quellcode-Arbeitsbereich mit variabler Länge gespeichert werden, werden nachgezogene Leerzeichen innerhalb einer Quellcode-Zeile nicht mit gezählt; führende und eingebettete Leerzeichen werden mit gezählt. Diese Information wird nur angezeigt, wenn die Editor-Profil-Option Source Size Information auf `Y` gesetzt ist (siehe Editor-Profil).

- #### Char. Free - Zeichen frei

  Die Anzahl der Zeichen, die im Quellcode-Arbeitsbereich noch verfügbar sind. Diese Information wird nur angezeigt, wenn die Editor-Profil-Option Source Size Information auf `Y` gesetzt ist (siehe Editor-Profil).

- S

  Die Größe (Anzahl der Zeilen) des Quellcodes, der zurzeit bearbeitet wird.

- L

  Die Zeilennummer der Quellcode-Zeile, die zurzeit als oberste Zeile angezeigt wird.

## Editor-Kommandos

Editor-Kommandos werden in der Kommandozeile des Programm-Editors eingegeben. Die Kommando-Parameter müssen voneinander abgetrennt werden:

- entweder mit dem Eingabebegrenzungszeichen, das mit dem Natural-Session-Parameter `ID` angegeben ist. Standardmäßig ist das ein Komma (,).

- oder durch Leerzeichen.

Wenn mehrere Kommandos eingegeben werden, müssen diese ebenfalls durch Eingabebegrenzungszeichen oder Leerzeichen voneinander abgetrennt werden.

Die verfügbaren Editor-Kommandos werden in der nachfolgenden Tabelle und im Abschnitt Editor-Kommandos zum Positionieren beschrieben. Die in den Editor-Kommandos verwendeten Syntax-Symbole werden im Abschnitt Systemkommando-Syntax in der Systemkommandos-Dokumentation erklärt. Der unterstrichene Teil eines Kommandos kann als gültige Abkürzung verwendet werden.

Editor-Kommando | Funktion
--- | ---
`ADD[(n)]` | Hängt n Leerzeilen an. Wenn die Richtungsanzeige auf `+` (Pluszeichen) gesetzt ist, werden die Leerzeilen nach der letzten Zeile des in Bearbeitung befindlichen Objekts hinzugefügt. Wenn die Richtungsanzeige auf `-` (Minuszeichen) gesetzt ist, werden die Leerzeilen vor der ersten Zeile des Objekts hinzugefügt. Der Wert für n darf im Bereich von 1 bis 9 liegen. Wenn Sie für n keinen oder einen nicht korrekten Wert angeben, werden standardmäßig 9 Zeilen (4 Zeilen im Split-Screen-Modus) hinzugefügt. Wenn Sie das nächste Mal Enter drücken, werden alle Zeilen, die dann noch leer sind, wieder entfernt.
`CANCEL` oder `.` (Punkt) | Die Editor-Sitzung wird abgebrochen. Alle seit dem letzten Speichern (`SAVE`) vorgenommenen Änderungen werden nicht gespeichert.
`CATALOG [object-name]` | Führt das Systemkommando `CATALOG` aus. Der aktuelle Quellcode wird geprüft und katalogisiert. Wenn Sie neu angelegten Quellcode katalogisieren oder wenn Sie den aktuellen Quellcode kopieren wollen, müssen Sie zusammen mit dem Kommando einen Objektnamen angeben. Siehe auch Quellcode speichern und katalogisieren.
`CHANGE ['scan-value'replace-value']` | Durchsucht den Quellcode nach der als Suchwert (scan-value) eingegebenen Zeichenkette und ersetzt jeden gefundenen Suchwert mit der als Ersetzungswert (replace-value) eingegebenen Zeichenkette. Jede Zeile, in der eine Zeichenkette ersetzt wurde, wird am linken Zeilenrand mit einem `R` markiert. Als Eingabebegrenzungszeichen kann jedes Sonderzeichen benutzt werden, dass in einem Natural-Variablennamen nicht gültig ist. Wenn Sie `CHANGE` ohne Parameter eingeben, wird das SCAN/REPLACE-Fenster angezeigt. Zusätzlich zum Suchwert (scan-value) und zum Ersetzungswert (replace-value) können Sie in diesem Fenster Folgendes angeben: die Nullwert-Option (siehe `SET NUL`), den absoluten Suchmodus (siehe `SET ABS`), den Bereichsmodus (siehe `SET RANGE`).
`CHECK` | Führt das Systemkommando `CHECK` aus, das die Syntax des aktuellen Quellcode prüft. Falls ein Fehler gefunden wird, wird die fehlerhafte Zeile mit einem `E` markiert und eine entsprechende Meldung wird in der Meldungszeile angezeigt. Wenn kein Fehler gefunden wird, wird eine Meldung angezeigt, die die erfolgreiche Beendigung der Prüfung anzeigt.
`CLEAR` | Führt das Systemkommando `CLEAR` aus, das den Quellcode-Arbeitsbereich (einschließlich des Objektnamens und der Markierungen `X` und `Y`) löscht.
`DX` oder `DY` | Löscht die mit `X` oder `Y` markierte Zeile. Siehe auch Zeilenkommandos `.X` und `.Y`.
`DX-Y` | Löscht den mit den Markierungen `X` und `Y` eingegrenzten Zeilenblock. Siehe auch Zeilenkommandos `.X` und `.Y`.
`EX` oder `EY` | Löscht alle Zeilen ab dem Anfang des Editierbereichs bis zur mit `X` markierten Zeile (die jedoch nicht gelöscht wird) oder ab der Zeile, die auf die mit `Y` markierte Zeile folgt, bis zum Ende des Editierbereichs. Siehe auch Zeilenkommandos `.X` und `.Y`.
`EX-Y` | Löscht alle Zeilen im Editierbereich mit Ausnahme des Blocks, der mit `X` und `Y` eingegrenzt ist. Siehe auch Zeilenkommandos `.X` und `.Y`.
`EXIT` | Die Editor-Sitzung wird beendet. Alle am Quellcode vorgenommenen Änderungen werden in Abhängigkeit von der Einstellung im Editor-Profil gespeichert. Siehe Exit-Funktion.
`LET` | Macht alle Änderungen, die Sie im aktuellen Bildschirm vorgenommen haben, nachdem Sie das letzte Mal Enter gedrückt haben, rückgängig. Zusätzlich werden alle Zeilenkommandos, die bereits eingegeben, aber noch nicht ausgeführt wurden, ignoriert.
`N [(nnnn)]` | Dieses Kommando entspricht dem Systemkommando `RENUMBER`. Es bewirkt, dass die Quellcode-Zeilen des Objekts, das sich gerade im Quellcode-Arbeitsbereich befindet, neu durchnummeriert werden. Wenn Sie nur `N` eingeben, werden die Zeilen in Zehnerschritten neu nummeriert. Wenn Sie `N (nnnn)` eingeben, werden die Zeilen in Schritten von `nnnn` neu nummeriert. Falls der für n angegebene Wert zu groß ist, werden die Zeilen in Fünfer-Schritten neu nummeriert. Anmerkung Siehe auch Quellcode-Zeilennummern umnummerieren im Leitfaden zur Programmierung.
`PROFILE [name]` | Ruft den Editor-Profil-Bildschirm auf. Dort können Sie sich Ihre aktuellen Editor-Profil-Einstellungen ansehen und diese ändern. Weitere Informationen siehe Abschnitt Editor-Profil.
`REN ON|OFF` | `ON` | Jedes Mal, wenn das Kommando `CHECK`, `RUN`, `SAVE`, `CATALOG` oder `STOW` am Quellcode ausgeführt wird, erfolgt die Neunummerierung der Quellcode-Zeilen.
`OFF` | Zeigt an, dass die automatische Neunummerierung nicht wirksam ist.
Der Standardwert ist `ON`. Das Kommando `REN` entspricht der Editor-Profil-Option Auto Renumber. Siehe Editor-Profil. Anmerkung Siehe auch Quellcode-Zeilennummern umnummerieren im Leitfaden zur Programmierung.
`RESET` | Löscht die aktuellen Zeilenmarkierungen `X` und `Y` sowie alle zuvor mit dem Zeilenkommando `.N` gesetzten Markierungen. Siehe auch Zeilenkommandos `.X` und `.Y`.
`SAVE [object-name]` | Führt das Systemkommando `SAVE` aus, das den aktuellen Quellcode speichert. Wenn Sie neu angelegten Quellcode speichern oder wenn Sie den aktuellen Quellcode kopieren wollen, müssen Sie bei dem Kommando einen Objektnamen angeben. Siehe auch Quellcode speichern und katalogisieren.
`SCAN ['scan-value']` | Durchsucht den Quellcode nach einer Zeichenkette (scan-value). Jede Zeile, in der der Suchwert (scan-value) gefunden wird, wird am linken Zeilenrand mit einem `S` gekennzeichnet. Wird der angegebene Suchwert (scan-value) ohne Begrenzungszeichen eingegeben, zum Beispiel: `SCAN ABC D`, dann wird die gesamte Zeichenkette, die auf das Schlüsselwort `SCAN` folgt, als Suchwert benutzt. Anmerkung Mit dem Kommando `SCAN` erfolgt eine exakte Suche nach dem angegebenen Suchwert (scan-value). Dies sollte bei der Suche nach DBCS-Zeichen (DBCS = Double-Byte Character Set) berücksichtigt werden. Wenn die Richtungsanzeige auf `+` (Pluszeichen) gesetzt ist, erfolgt die Suche ab der ersten, auf dem Bildschirm angezeigten Zeile bis zur letzten Zeile des Quellcode-Arbeitsbereiches. Wenn die Richtungsanzeige auf `-` (Minuszeichen) gesetzt ist, erfolgt die Suche ab der letzten, auf dem Bildschirm angezeigten Zeile bis zur ersten Zeile des Quellcode-Arbeitsbereiches. Wenn Sie das `SCAN`-Kommando ohne Parameter eingeben, wird das SCAN/REPLACE-Fenster angezeigt. Sie können dann zusätzlich zum Suchwert (scan-value) Folgendes angeben: einen Ersetzungswert (replace-value, siehe auch `CHANGE`), die Nullwert-Option (siehe `SET NUL`), den absoluten Suchmodus (siehe `SET ABS`), den Bereichsmodus (siehe `SET RANGE`). den Modus zum Ignorieren der Groß-/Kleinschreibung (siehe `SET IGNORECASE`). `SCAN` ist ein cursorsensitives Kommando, das zusätzliche Optionen bietet, siehe Abschnitt Cursorsensitive Kommandos.
`SCAN=[+|-]` | Sucht nach der nächsten Ausprägung des mit dem `SCAN`-Kommando angegebenen Suchwerts (scan-value). Die Suchrichtung für den gegebenen Suchvorgang können Sie explizit angeben, indem Sie `SCAN=+` oder `SCAN=-` eingeben. Die Einstellung in der Richtungsanzeige wird dann ignoriert. Anmerkung Das beim `SCAN`-Kommando verwendete Gleichheitszeichen (=) ist das Standard-Zuweisungszeichen für Eingabe-Parameter. Falls ein anderes Zeichen als Zuweisungszeichen für Eingabe-Parameter angegeben worden ist (siehe Session-Parameter `IA` in der Parameter-Referenz-Dokumentation), muss dieses Zeichen stattdessen benutzt werden.
`SET ABS [ON|OFF]` | `ON` | Die Kommandos `SCAN` und `CHANGE` arbeiten im absoluten Modus. Das bedeutet, dass es nicht nötig ist, den Suchwert (scan-value) und den Ersetzungswert (replace-value) durch Leerzeichen oder Sonderzeichen abzugrenzen.
`OFF` | Die Kommandos `SCAN` und `CHANGE` arbeiten nicht im absoluten Modus. Das bedeutet, dass Sie den Suchwert (scan-value) und den Ersetzungswert (replace-value) durch Leerzeichen oder Sonderzeichen abgrenzen müssen.
Der Standardwert ist `OFF`. Das Kommando `SET ABS` entspricht der Editor-Profil-Option Absolute Mode for SCAN/CHANGE. Siehe Abschnitt Editor-Profil.
`SET IGNORECASE[ON|OFF]` | `ON` | Die Kommandos `SCAN` und `CHANGE` arbeiten im Ignore Case-Modus. Das bedeutet, die Suche findet jede beliebige Kombination aus Groß- und Kleinbuchstaben.
`OFF` | Die Kommandos `SCAN` und `CHANGE` arbeiten nicht im Ignore Case-Modus. Das bedeutet, es wird nach dem exakten Wert gesucht.
Der Standardwert ist `OFF`. Das Kommando `SET IGNORECASE` entspricht der Editor-Profil-Option Ignore Case Mode for SCAN/CHANGE. Siehe Abschnitt Editor-Profil.
`SET CAPS [ON|OFF]` | Dieses Kommando betrifft die Einstellungen der Editor-Profil-Optionen Editing in Lower Case und Dynamic Conversion of Lower Case. Siehe Abschnitt Editor-Profil.
`ON` | Konvertiert alle in Kleinschreibung auf dem aktuellen Bildschirm angezeigten Zeichen in Großschreibung. Ausnahme: Zeichen, die sich innerhalb eines Kommentarbereichs befinden oder mit Apostrophen ('') oder Anführungszeichen eingeschlossen sind. Setzt die Editor-Profil-Optionen Editing in Lower Case auf `Y` und Dynamic Conversion of Lower Case auf `Y`.
`OFF` | Es erfolgt keine Zeichenkonvertierung. Die Zeichen bleiben so wie eingeben. Setzt die Editor-Profil-Optionen Editing in Lower Case auf `Y` und Dynamic Conversion of Lower Case auf `N`.
`ALL` | Konvertiert alle Zeichen in Großschreibung. Setzt die Editor-Profil-Optionen Editing in Lower Case auf `N` und Dynamic Conversion of Lower Case auf `N`.
Der Standardwert ist `ON`.
`SET ESCAPE character` | Das Fluchtzeichen, das vor jedem Zeilenkommando vorangestellt werden muss. Das Standard-Fluchtzeichen ist ein Punkt (.).
`SET NUL [ON|OFF]` | `ON` | Alle Ausprägungen eines mit dem Kommando `SCAN` gesuchten Wertes werden gelöscht. Nach dem Löschen des mit `SCAN` gesuchten Wertes wird das Kommando `SET NUL` automatisch auf `OFF` gesetzt.
Der Standardwert ist `OFF`.
`SET RANGE [ON|OFF]` | `ON` | Die Kommandos `SCAN` und `CHANGE` arbeiten im Bereichsmodus. Das bedeutet, dass der zu suchende/zu ersetzende Wert sich innerhalb des Zeilenbereichs befinden muss, der mit den Zeilenmarkierungen `X` und `Y` markiert ist.
`OFF` | Die Kommandos `SCAN` und `CHANGE` arbeiten nicht im Bereichsmodus. Das bedeutet, dass keine Bereichsgrenzen wirksam sein sollen.
Der Standardwert ist `OFF`. Das Kommando `SET RANGE` entspricht der Editor-Profil-Option Range Mode for SCAN/CHANGE. Siehe Editor-Profil.
`SET RELINE [ON|OFF]` | `ON` | Es erfolgt eine automatische Entfernung aller Leerzeilen aus dem Quellcode eines Objekts (Ausnahme: Textobjekte), wenn Sie Enter drücken.
`OFF` | Die Leerzeilen bleiben erhalten.
Die Standard-Einstellung ist `ON`. Dieses Kommando entspricht der Editor-Profil-Option Empty Line Suppression. Siehe Abschnitt Editor-Profil.
`SET SEQ [ON|OFF]` | `OFF` | Bei Eingabe eines numerischen Wertes werden die ersten vier Stellen im Editierbereich als die Zeilennummern betrachtet und werden in die Zeilennummer-Position verschoben, sobald Sie Enter drücken. Diese Funktion ist nützlich, wenn zum Beispiel eine Statement-Zeile von einer Quellcode-Zeilennummer in einer anderen Statement-Zeile referenziert werden soll. Wenn Sie den Quellcode neu nummerieren, wird die referenzierende Zeilennummer ebenfalls neu nummeriert.
`ON` | Die ersten vier Stellen einer numerischen Werteingabe bleiben so, wie sie eingegeben wurden.
Außer beim Objekttyp Text ist der Standardwert `OFF`. Das Kommando `SET SEQ` entspricht der Editor-Profil-Option Numeric Input as Line Number. Siehe Editor-Profil.
`SET SIZE [ON|OFF]` | `ON` | Die Größe des Quellcodes wird in der unteren Informationszeile des Editor-Bildschirms und der Programmiermodus wird in der Lineal-Zeile angezeigt.
`OFF` | Diese Informationen werden nicht angezeigt.
Der Standardwert ist `OFF`. Das Kommando `SET SIZE` entspricht der Editor-Profil-Option Source Size Information. Siehe Editor-Profil.
`SET STAY [ON|OFF]` | `ON` | Wenn Enter gedrückt wird, wird der aktuelle Bildschirm weiterhin angezeigt. Eine Vorwärts-/Rückwärtspositionierung kann nur mit den Positionierungskommandos bewirkt werden.
`OFF` | Wenn Enter gedrückt wird, wird der nächste Bildschirm angezeigt.
Der Standardwert ist `OFF`. Das Kommando `SET STAY` entspricht der Editor-Profil-Option Stay on Current Screen. Siehe Editor-Profil.
`SET TYPE object-type` | Mit diesem Kommando können Sie den (in der Editor-Kommandozeile angezeigten) Objekttyp für die zurzeit im Quellcode-Arbeitsbereich befindliche Source ändern. object-type steht für einen Objekttyp, der mit dem Kommando angegeben werden muss. Folgende Werte sind möglich:
`P` | oder `PROGRAM`
`S` | oder `SUBROUTINE`
`N` | oder `SUBPROGRAM`
`H` | oder `HELPROUTINE`
`T` | oder `TEXT`
`C` | oder `COPYCODE`
`4` | oder `CL` oder `CLASS`
`7` | oder `FUNCTION`
`SHIFT [-nn|+nn]` | Dieses Kommando verschiebt jede Zeile, die mit den Markierungen `X` und `Y` begrenzt ist, nach links oder nach rechts. Der Parameter nn gibt die Anzahl der Zeichen an, um die die Zeile verschoben werden soll. Kommentarzeilen werden nicht verschoben.
`SHIFT --` | Dieses Kommando verschiebt jede Zeile, die mit den Markierungen `X` und `Y` begrenzt ist, ganz nach links. Kommentarzeilen werden nicht verschoben.
`SHIFT ++` | Dieses Kommando verschiebt jede Zeile, die mit den Markierungen `X` und `Y` begrenzt ist, ganz nach rechts (maximal um 99 Stellen). Kommentarzeilen werden nicht verschoben.
`SPLIT [parameter]` | Dieses Kommando bewirkt, dass der Editor-Bildschirm zwecks gleichzeitiger Anzeige von zwei verschiedenen Objekten in zwei Hälften unterteilt wird. Siehe Split-Screen-Modus. `SPLIT` ist ein cursorsensitives Kommando, bei den zusätzliche Optionen zur Verfügung stehen. Siehe Cursorsensitive Kommandos. Wenn `SPLIT` ohne Parameter eingeben wird, wird der Quellcode des zuvor im Split-Screen-Bereich angezeigten Objekts erneut angezeigt. Dies gilt für die Dauer der aktuellen Editor-Sitzung.
`STOW [object-name]` | Führt das Systemkommando `STOW` aus, mit dem der aktuelle Quellcode gespeichert und katalogisiert wird. Wenn Sie neuen Quellcode speichern und katalogisieren wollen oder wenn Sie den aktuellen Quellcode kopieren wollen, müssen Sie einen Objektnamen angeben. Andernfalls erscheint eine entsprechende Meldung. Siehe auch Quellcode speichern und katalogisieren.
`STRUCT [DISPLAY]` | Dieses Kommando dient dazu, die Quellcode-Zeilen eines Programms entsprechend der Programmstruktur einzurücken. Standardmäßig wird schrittweise um zwei Stellen eingerückt. Wird `DISPLAY` angegeben, wird der Quellcode in komprimierter Form angezeigt. Siehe Systemkommando `STRUCT` in der Systemkommandos-Dokumentation.
`*` | Dieses Kommando zeigt das zuletzt eingegebene Editor-Kommando an.
`*=` | Dieses Kommando führt das zuletzt in der Kommandozeile eingegebene Kommando erneut aus.

## Editor-Kommandos zum Positionieren

Editor-Kommandos zum Positionieren werden in der Kommandozeile des Programm-Editors eingegeben. Folgende Kommandos stehen zum Positionieren zur Verfügung:

Kommando | Funktion
--- | ---
Enter oder `+P` oder `+` | Eine Seite vorwärts positionieren.
`-P` oder `-` | Eine Seite rückwärts positionieren.
`+H` | Eine halbe Seite vorwärts positionieren.
`-H` | Eine halbe Seite rückwärts positionieren.
`T` oder `–` | An den Anfang des Quellcodes positionieren.
`B` oder `++` | An das Ende des Quellcodes positionieren.
`+nnnn` | Um nnnn (maximal 4 Ziffern) Zeilen vorwärts positionieren.
`-nnnn` | Um nnnn (maximal 4 Ziffern) Zeilen rückwärts positionieren.
`nnnn` | Auf Zeile Nummer nnnn positionieren.
`X` | Auf die mit `X` markierte Zeile positionieren.
`Y` | Auf die mit `Y` markierte Zeile positionieren.
`POINT` | Auf die Zeile positionieren, in der das Zeilenkommando `.N` eingegeben wurde. Siehe auch Zeilenkommando `.P`.

## Zeilenkommandos

Zeilenkommandos werden an der ersten Stelle einer Quellcode-Zeile eingegeben. Die beim Programm-Editor zur Verfügung stehenden Zeilenkommandos sind nachfolgend aufgeführt. Die Notation (nn) oder (nnnn) zeigt einen Wiederholungsfaktor an. Der Standard-Wiederholungswert ist 1 (mit Ausnahme beim Kommando `.I`, siehe unten). Eine Erklärung der verwendeten Syntaxsymbole finden Sie im Abschnitt Systemkommando-Syntax in der Systemkommandos-Dokumentation.

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.

Zeilenkommandos | Funktion
--- | ---
`.C[(nnnn)]` | Kopiert die Zeile, in der das Kommando eingegeben wurde.
`.CX[(nnnn)]` oder `.CY[(nnnn)]` | Kopiert die Zeile, die mit `X` oder mit `Y` markiert ist. Siehe auch Zeilenkommandos `.X` und `.Y` sowie Anmerkungen zu den Zeilenkommandos.
`.CX-Y[(nnnn)]` | Kopiert den Zeilenblock, der mit den Markierungen `X` und `Y` eingegrenzt ist. (Siehe auch Anmerkungen zu den Zeilenkommandos.)
`.D[(nnnn)]` | Löscht eine oder mehrere Zeilen ab der Zeile, in der Sie das Kommando eingeben, bis zum Ende des Quellcodes (unabhängig von der Einstellung in der Richtungsanzeige). Der Standardwert ist 1 Zeile.
`.I[(nn)]` | Fügt nn Leerzeilen ein. Dabei kann nn im Bereich von 1 bis zur Gesamtzahl minus zwei der im Editierbereich angezeigten Zeilen liegen. Wenn zum Beispiel insgesamt 28 Zeilen im Editierbereich angezeigt werden, können Sie maximal 26 Zeilen einfügen. Wird nn nicht (oder nicht korrekt) angegeben, werden standardmäßig 9 Zeilen (4 Zeilen im Split-Screen-Modus) eingefügt. Zeilen, die leer gelassen werden, werden anschließend aus dem Quellcode entfernt. Dies ist abhängig von der Einstellung der Editor-Profil-Optionen Empty Line Suppression und Empty Line Suppression for Text. Siehe Editor-Profil. Siehe auch Anmerkungen zu den Zeilenkommandos.
`.I(obj,ssss,nnnn)` | Fügt in den Quellcode ein Objekt ein, das in der aktuellen Library oder in der Steplib (die Standard-Steplib ist SYSTEM) enthalten ist. Je nach Einstellung in der Richtungsanzeige wird das Objekt vor oder nach der Zeile eingefügt, in der Sie das Kommando eingeben. Wenn Sie nur einen Teil des Objekts einfügen möchten, müssen Sie für ssss die erste einzufügende Zeile angeben (zum Beispiel bedeutet `20`, dass die Einfügung mit der 20. Zeile beginnen wird), und für nnnn müssen Sie die Anzahl der einzufügenden Zeilen angeben. Wenn Sie mehrere Kommandos eingeben, wird dieses Kommando stets erst dann ausgeführt, nachdem alle anderen Zeilen- und/oder Editor-Kommandos ausgeführt worden sind. Handelt es sich bei dem Objekt um eine Map (Maske), wird in die aktuelle Zeile automatisch ein `INPUT USING MAP`-Statement (siehe INPUT-Syntax 2 — Verwendung einer vordefinierten Eingabemaske in der Statements-Dokumentation) mit allen definierten Variablen eingefügt. Handelt es sich bei dem Objekt um eine Data Area, wird die gesamte Data Area mit Ausnahme der Kommentarzeilen eingefügt. Es können jedoch nur Local und Parameter Data Areas, die mit dem `STOW`-Kommando gespeichert und katalogisiert wurden, in den Quellcode-Arbeitsbereich eingefügt werden. Global Data Areas können nicht eingefügt werden. Handelt es sich bei dem Objekt um einen Adapter, wird in die aktuelle Zeile automatisch ein `PROCESS PAGE USING`-Statement (siehe Syntax 2 - PROCESS PAGE USING in der Statements-Dokumentation) mit allen definierten Variablen eingefügt.
`.J` | Führt die aktuelle Zeile mit der nächsten Zeile zusammen. Ist die resultierende Zeile länger als die Editor-Bildschirmzeile, wird die Zeile mit einem `L` markiert und muss mit dem Zeilenkommando `.S` in zwei Zeilen geteilt werden (siehe unten), bevor sie geändert werden kann.
`.L` | Macht alle seit dem letzten Drücken der Enter-Taste an der Zeile vorgenommenen Änderungen rückgängig.
`.MX` oder `.MY` | Verschiebt die mit `X` oder mit `Y` markierte Zeile. Siehe auch Zeilenkommandos `.X` und `.Y` sowie Anmerkungen zu den Zeilenkommandos.
`.MX-Y` | Verschiebt den Zeilenblock, der mit den Markierungen `X` und `Y` eingegrenzt ist (siehe auch Anmerkungen zu den Zeilenkommandos).
`.N` | Markiert (unsichtbar) eine Zeile, die mit den Editor-Kommando `POINT` an den Anfang des Quellcode-Arbeitsbereichs positioniert werden soll. Die Markierung wird automatisch gelöscht, wenn ein Fehler bei einem Zeilen- oder Editor-Kommando auftritt oder wenn das `RESET`-Kommando ausgeführt wird.
`.P` | Positioniert die mit diesem Kommando markierte Zeile an den Anfang des Bildschirms.
`.S` | Spaltet die Zeile an der mit dem Cursor markierten Position.
`.X` | Markiert eine Zeile mit einem `X` (siehe auch Anmerkungen zu den Zeilenkommandos).
`.Y` | Markiert eine Zeile mit einem `Y` (siehe auch Anmerkungen zu den Zeilenkommandos).

#### Anmerkungen zu den Zeilenkommandos

- Wenn sowohl das Kommando `.X` als auch das Kommando `.Y` bei einer Zeile angewendet werden, wird sie behandelt, als ob sie mit einem `X` und mit einem `Y` markiert ist; die tatsächlich angezeigte Zeilenmarkierung, die diesen Status wiedergeben soll, ist ein `Z`.

- Ist die Richtungsanzeige auf `+` (Pluszeichen) gesetzt, werden die kopierten, eingefügten oder verschobenen Zeilen nach der Zeile platziert, in der das entsprechende Kommando eingegeben wurde.

  Ist die Richtungsanzeige auf `-` (Minuszeichen) gesetzt, werden die kopierten, eingefügten oder verschobenen Zeilen vor der Zeile platziert, in der das entsprechende Kommando eingegeben wurde.

## Spezielle PF-Tastenfunktionen

Die folgenden speziellen Funktionen können auch mittels PF-Tasten bedient werden:

Funktion | Erläuterung
--- | ---
`*CURSOR` | Eine Funktion zum Aufspalten einer Zeile kann auch mit dem Kommando `.I`, `.CX`, `.CX-Y`, `.MX` oder `.MX-Y` kombiniert werden. Dazu muss der Wert `*CURSOR` einer PF-Taste zugewiesen werden (siehe PF and PA Keys im Editor-Profil). Wird dann nach Eingabe eines Zeilenkommandos diese PF-Taste anstelle der Enter-Taste gedrückt, wird die Zeile, in der das Kommando eingegeben wurde, zunächst an der Cursorposition aufgespalten und danach wird das Zeilenkommando ausgeführt. Siehe auch Beispiel für *CURSOR auf PF-Taste.
`*X` oder `*Y` | Wird einer PF-Taste der Wert `*X` oder `*Y` im Editor-Profil zugewiesen (siehe PF- und PA-Tasten in Editor-Profil), wird, jedes Mal wenn diese PF-Taste benutzt wird, die Cursorposition mit `X` bzw. `Y` markiert. Diese Positionsmarkierungen werden dann verwendet um zu bestimmen, welcher Teil einer Zeile bei der Kommandoausführung eingefügt werden soll. Siehe auch Beispiel für *X und *Y auf PF-Tasten.

#### Beispiel für *CURSOR auf PF-Taste

Der folgende Abschnitt enthält eine Anleitung, wie Sie eine PF-Taste benutzen können, der der Wert `*CURSOR` zugewiesen ist.

1. Geben Sie im Abschnitt PF and PA Keys des Editor-Profil-Bildschirms (siehe Editor-Profil), neben dem Eintrag PF6 den Wert `*CURSOR` ein.

2. Öffnen Sie den Programm-Editor, geben Sie den folgenden Text ein, und drücken Sie Enter:

       >                                       > +  Program              Lib SAGTEST
       All    ....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
         0010 MOVE A TO B
         0020 WRITE A B C
         0030 MOVE C TO B MOVE A TO C
         0040
         0050
         0060
         0070
         0080
         0090
         0100
         ....
         0280
              ....+....1....+....2....+....3....+....4....+....5....+... S 3    L 1

3. Geben Sie in Zeile `0020` das Zeilenkommando `.X` ein. Drücken Sie Enter.

   Die Zeile wird markiert. Dies wird durch das vorangestellte `X` angezeigt.

4. Geben Sie in Zeile `0030` das Zeilenkommando `.CX` ein. Setzen Sie den Cursor auf das `M` des zweiten `MOVE`-Statements. Drücken Sie PF6.

   Der Bildschirm sieht nun ähnlich wie in der folgenden Abbildung aus:

       >                                       > +  Program              Lib SAGTEST
       All    ....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
         0010 MOVE A TO B
       X 0020 WRITE A B C
         0030 MOVE C TO B
         0020 WRITE A B C
         0030 MOVE A TO C
         0040
         0050
         0060
         0070
         0080
         0090
         0100
         ....
         0260
              ....+....1....+....2....+....3....+....4....+....5....+... S 5    L 1

   Die Zeile `0030` wird vor der Cursorposition aufgespalten, Zeile `0020` wird in die Zeile kopiert, in der Sie das Kommando `.CX` eingegeben haben, und der zweite Teil der aufgespaltenen Zeile wird in die letzte Zeile verschoben.

#### Beispiel für *X und *Y auf PF-Tasten

Der folgende Abschnitt enthält eine Anleitung, wie Sie PF-Tasten benutzen können, denen die Werte `*X` und `*Y` zugewiesen sind.

1. Geben Sie im Abschnitt PF and PA Keys des Editor-Profil-Bildschirms (siehe Editor-Profil), neben dem Eintrag PF4 den Wert `*X` und neben PF5 den Wert `*Y` ein.

2. Öffnen Sie den Programm-Editor, geben Sie den folgenden Text ein, und drücken Sie Enter:

       >                                       > +  Text                 Lib SAGTEST
       All    ....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
         0010 THIS PORTION
         0020 OF TEXT IS
         0030 FOR DEMONSTRATION OF
         0040 PF-KEY ASSIGNMENTS.
         0050
         0060
         0070
         0080
         0090
         0100
         ....
         0280
              ....+....1....+....2....+....3....+....4....+....5....+... S 0    L 1

3. Setzen Sie in Zeile `0010` den Cursor auf den Buchstaben `P`, und drücken Sie PF4.

   Die Position des `P` wird so, wie im folgenden Beispiel-Bildschirm dargestellt, markiert.

4. Setzen Sie in Zeile `0030` den Cursor auf das Leerzeichen hinter `DEMONSTRATION`, und drücken Sie PF5.

   Der Bildschirm sieht nun ähnlich wie in der folgenden Abbildung aus:

       >                                       > +  Text                 Lib SAGTEST
       All    ....+X...1....+..Y.2....+....3....+....4....+....5....+....6....+....7..
       X 0010 THIS PORTION
         0020 OF TEXT IS
       Y 0030 FOR DEMONSTRATION OF
         0040 PF-KEY ASSIGNMENTS.
         0050
         0060
         0070
         0080
         0090
         0100
         ....
         0280
              ....+X...1....+..Y.2....+....3....+....4....+....5....+... S 4    L 1

   Die Positionen der Zeichen (`P` und Leerzeichen) werden, wie durch das `X` bzw. das `Y` angezeigt, markiert. Dabei erscheinen das `X` und das `Y` in der oberen und der unteren Informationszeile und links neben den Quellcode-Zeilen, die die markierten Zeichen enthalten.

5. Geben Sie in Zeile `0040` das Zeilenkommando `.MX-Y` ein, und drücken Sie Enter.

   Der Bildschirm sieht nun ähnlich wie in der folgenden Abbildung aus:

       >                                       > +  Text                 Lib SAGTEST
       All    X...+....1....+.Y..2....+....3....+....4....+....5....+....6....+....7..
         0010 THIS
         0030 OF
         0040 PF-KEY ASSIGNMENTS.
       X 0010 PORTION
         0020 OF TEXT IS
       Y 0030 FOR DEMONSTRATION
         0040
         0050
         0060
         0070
         0080
         0090
         0100
         ....
         0250
              X...+....1....+.Y..2....+....3....+....4....+....5....+... S 6    L 1

   Der Textblock, der in Zeile `0010` mit `P` markiert ist und in Zeile `0030` bei `N` endet, wird in die darunter befindliche Zeile verschoben, in der Sie das Kommando eingegeben haben. Der verschobene Block und der in Zeile `0010` und `0030` verbliebene Text werden linksbündig ausgerichtet.

## Cursorsensitive Kommandos

Cursorsensitive Kommandos werden ohne Parameter eingegeben. Stattdessen wird der Cursor an beliebiger Stelle (Ausnahme: Kommandozeile) auf dem Bildschirm platziert.

Um ein cursorsensitives Kommando zu benutzen:

1. Geben Sie ein cursorsensitives Kommando in der Editor-Kommandozeile ein.

2. Positionieren Sie den Cursor auf einer beliebigen, im Editor-Bildschirm (Ausnahme: Kommandozeile) enthaltenen Zeichenkette.

3. Drücken Sie Enter.

Alternativ können Sie eine PF-Taste benutzen:

1. Positionieren Sie den Cursor auf einer beliebigen, im Editor-Bildschirm (Ausnahme: Kommandozeile) enthaltenen Zeichenkette.

2. Drücken Sie die PF-Taste, die mit dem benötigten cursorsensitiven Kommando belegt ist (siehe PF and PA Keys im Editor-Profil).

Nachfolgend werden folgende Themen behandelt:

- SCAN-Kommando

- SPLIT-Kommando

- EDIT- und LIST-Systemkommandos

### SCAN-Kommando

Das cursor-sensitive `SCAN`-Kommando durchsucht den aktuellen Quellcode nach der Zeichenkette, auf der der Cursor positioniert ist. (Falls der Cursor jedoch auf einem Leerzeichen positioniert ist, wird das SCAN/REPLACE-Fenster aufgerufen.)

Im Split-Screen-Modus kann der Cursor auch auf einer Zeichenkette im Split-Screen-Bereich positioniert werden.

Für die Benutzung des `SPLIT SCAN`-Kommandos gilt das gleiche wie beim `SCAN`-Kommando, jedoch wird die Suchoperation nur im Split-Screen-Bereich durchgeführt (siehe auch Abschnitt Split-Screen Kommandos).

Weitere Informationen zum `SCAN`-Kommando siehe entsprechende Beschreibung unter Editor-Kommandos.

### SPLIT-Kommando

Anstatt objektspezifische `SPLIT`-Kommandos zu benutzen, um den Quellcode eines Objekts anzuzeigen (siehe Abschnitt Split-Screen Kommandos), können Sie das cursor-sensitive `SPLIT`-Kommando benutzen.

Wenn Sie das cursor-sensitive `SPLIT`-Kommando benutzen und den Cursor auf eine Zeichenkette positionieren, die einem Objektnamen oder einem erweiterten Namen (Langnamen) entspricht, wird der Quellcode des entsprechenden Objekts im Split-Screen-Bereich des Editors angezeigt. Das benötigte Objekt muss in der aktuellen Bibliothek enthalten sein.

Diese Funktion ist besonders nützlich, wenn Sie zum Beispiel nicht den Objektnamen kennen, der dem erweiterten Namen (Langnamen) eines Objekts (zum Beispiel eine Subroutine) entspricht, das im aktuellen Quellcode referenziert wird.

### EDIT- und LIST-Systemkommandos

Wenn Sie die cursor-sensitiven Kommandos `EDIT` oder `LIST` benutzen und den Cursor auf eine Zeichenkette positionieren, die einem Objektnamen oder einem erweiterten Namen (Langnamen) entspricht, wird der Quellcode des entsprechenden Objekts angezeigt:

- Beim `EDIT`-Kommando wird der Quellcode in den Editierbereich geladen. Falls erforderlich, wird sogar ein anderer Editor aufgerufen.

- Beim `LIST`-Kommando wird der Quellcode aufgelistet, und zwar auch dann wenn eine View (DDM) referenziert worden ist.

Die zu bearbeitenden bzw. aufzulistenden Objekte müssen in der aktuellen Library enthalten sein.

Weitere Informationen zu den Kommandos `EDIT` und `LIST` siehe Systemkommandos-Dokumentation.

## Quellcode speichern und katalogisieren

Den zurzeit im Quellcode-Arbeitsbereich befindlichen Quellcode können Sie als Source-Objekt und außerdem als katalogisiertes Objekt speichern. Beide Objekte werden in einer Natural-Library in einer Natural-Systemdatei gespeichert.

Um den aktuellen Quellcode zu speichern und/oder zu katalogisieren:

- Benutzen Sie das Systemkommando `SAVE`, `CATALOG` oder `STOW`. Weitere Informationen siehe Objekte speichern und katalogisieren in der Dokumentation Natural benutzen.

  Anmerkung
  Wenn Sie den Programm-Editor mit dem Editor-Kommando `EXIT` verlassen, wird der aktuelle Quellcode automatisch gespeichert, wenn die entsprechende Editor-Profil-Option demgemäß gesetzt ist. Weitere Informationen siehe Exit-Funktion.

Um eine Kopie des aktuelle Quellcodes zu behalten:

- Benutzen Sie die Editor-Optionen Source Save into und Auto Save Numbers im Editor-Profil.

  Eine Kopie des zuletzt mit einem der Natural-Editoren bearbeiteten Quellcodes wird dann automatisch als Source-Objekt in der aktuellen Natural-Umgebung gespeichert.

## Exit-Funktion

Mit der Exit-Funktion können Sie die aktuelle Editor-Sitzung beenden, indem Sie das Kommando `EXIT` absetzen.

Die Wirkung des `EXIT`-Kommandos ist abhängig von der Einstellung der Editor-Profil-Option Prompt Window for Exit Funktion:.

- Ist die Option auf `Y` gesetzt (Standardeinstellung), dann ruft das `EXIT`-Kommando das EXIT Function-Fenster immer dann auf, wenn Sie das Kommando bei einer Source eingeben, die nicht gespeicherte Änderungen enthält (siehe auch Änderungsanzeige). Wenn an dem Quellcode keine Änderungen vorgenommen wurden, erscheint das Fenster nicht und die Editor-Sitzung wird ohne Speicherung des Quellcodes beendet.

  Das EXIT Function-Fenster enthält folgende Optionen:

  Option | Erläuterung
  --- | ---
  Save and Exit | Speichert alle am aktuellen Quellcode vorgenommenen Änderungen. Die Editor-Sitzung wird beendet. Siehe auch SAVE Object-Fenster.
  Exit without Saving | Die Editor-Sitzung wird beendet. Die seit dem letzten Speichern des Quellcode vorgenommenen Änderungen werden nicht gespeichert.
  Resume Funktion | Die Editor-Sitzung wird nicht beendet. Es werden keine Änderungen gespeichert. Das Eingabeaufforderungsfenster wird geschlossen und die aktuelle Funktion wird fortgesetzt.

- Ist die Option auf `N` gesetzt, führt das `EXIT`-Kommando die Save and Exit-Funktion aus: Sie speichert alle an der aktuellen Source vorgenommenen Änderungen. Die Editor-Sitzung wird beendet. Siehe auch SAVE Object-Fenster.

### SAVE Object-Fenster

Die Save and Exit-Funktion ruft das SAVE Object-Fenster auf, wenn für den aktuellen Quellcode noch kein Objektname definiert wurde (wie in der Editor-Kommandozeile angezeigt).

Sie werden aufgefordert, einen Objektnamen und einen Objekttyp anzugeben. Wenn Sie Ihre Eingaben mit Enter bestätigen, wird der Quellcode unter dem angegebenen Namen als neues Objekt in der aktuellen Library gespeichert und die Sitzung wird beendet. Wenn Sie PF3 drücken, wird das Fenster ohne Maßname geschlossen und die Editor-Sitzung kann fortgesetzt werden.

### On this page

- Programm-Editor aufrufen
- Editor-Kommandozeile
- Obere Informationszeile
- Editierbereich
- Untere Informationszeile
- Editor-Kommandos
- Editor-Kommandos zum Positionieren
- Zeilenkommandos
- Spezielle PF-Tastenfunktionen
- Cursorsensitive Kommandos
- Quellcode speichern und katalogisieren
- Exit-Funktion