Datenbereich-Editor (Data Area Editor)

#### Search Results

Search

# Datenbereich-Editor (Data Area Editor)

Der Datenbereich-Editor (Data Area Editor) wird verwendet, um einen Datenbereich (Data Area) anzulegen oder zu ändern. Es handelt sich dabei um ein Natural-Objekt des Typs Global Data Area (GDA), Local Data Area (LDA) oder Parameter Data Area (PDA). Informationen zur Verwendung eines Datenbereichs siehe Datenbereiche (Data Areas) im Leitfaden zur Programmierung.

Ein Datenbereich enthält Datenelement-Definitionen wie zum Beispiel Benutzervariablen, Konstanten und Datenbankfelder, die in einer Datensicht (Data View) in einem Datendefinitionsmodul (Data Definition Module/DDM) referenziert werden und die von einem oder mehreren Natural-Objekten benutzt werden können. Außerdem können Sie Copycode aus einem Datenbereich erstellen. Beachten Sie, dass es in einer PDA nicht möglich ist, eine Datensicht zu definieren. Sie können jedoch eine Datensicht in einer GDA oder einer LDA in eine Gruppenstruktur umwandeln und dann diese GDA oder LDA als PDA speichern.

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

Diese Dokumentation behandelt folgende Themen:

- Data Area Editor aufrufen

- Obere Informationszeile

- Editor-Kommandozeile

- Untere Informationszeile

- Editierbereich benutzen

- Spalten im Editierbereich

- Erweiterte Felddefinition bearbeiten

- Zeilenkommandos

- Editor-Kommandos

- Editor-Kommandos zum Positionieren

- Data Area speichern und katalogisieren

- User Exit für den Data Area Editor

- Exit-Funktion

#### Verwandtes Thema:

Informationen zur Unterstützung von Unicode und Codepages bei den Natural-Editoren siehe Editors in the SPoD Environment in der Unicode and Code Page Support-Dokumentation.

## Data Area Editor aufrufen

Den Data Area Editor können Sie mit dem Systemkommando `EDIT` aufrufen. Beschreibung siehe Systemkommandos-Dokumentation.

Um den Data Area Editor zum Anlegen einer neuen Data Area aufzurufen:

- Setzen Sie das `EDIT`-Kommando ab, indem Sie den Typ der Data Area (`GLOBAL`, `LOCAL` oder `PARAMETER`) angeben, den Sie anlegen wollen.

  Zum Beispiel für eine Local Data Area:

      EDIT LOCAL

  Es erscheint ein Editor-Bildschirm mit einem leeren Editierbereich. In der linken oberen Ecke des Bildschirms wird der Typ Local angezeigt.

      Local               Library SAGTEST                        DBID 11177 FNR  1008
      Command                                                                     > +
      I T L  Name                             F Length     Miscellaneous
      All -- -------------------------------- - ---------- ------------------------->

      ----------------------------------------------------------------- S 0    L 1

Um den Data Area Editor für eine schon vorhandene Data Area aufzurufen:

- Benutzen Sie das Kommando `EDIT` mit dem Namen einer Data Area, die als Source-Objekt in Ihrer aktuellen Natural-Umgebung gespeichert worden ist.

  Zum Beispiel:

      EDIT LDA1

  Es erscheint der Editor-Bildschirm mit dem Quellcode der Local Data Area `LDA1`:

      Local     LDA1     Library SAGTEST                            DBID  10 FNR  32
        Command                                                                     > +
        I T L  Name                             F Length     Miscellaneous
        All -- -------------------------------- - ---------- ------------------------->
          *    LDA for new application
             1 INCOME                           A         20 (1:3,1:5) INIT ALL<'0'>
             1 PERSON
             2 SEX                              A          6
             2 AGE                              N          3
             1 NAME                             A         24
          R  1 NAME                                          /* REDEF. BEGIN : NAME
             2 FIRST-NAME                       A         10
             2 MIDDLE-INIT                      A          2
             2 LAST-NAME                        A         10
          C  1 DOLLAR                           A          5 CONST<'$US'>
          V  1 FINANCE-VIEW                                  FINANCE
             2 PERSONNEL-NUMBER                 N        8.0
          P  2 MAJOR-CREDIT                                  (1:1) /* PERIODIC GROUP
             3 CREDIT-CARD                      A         18 (EM=XXX.XXX.XXX.XXX.XXX.XXX)
             3 CREDIT-LIMIT                     N        4.0
             3 CURRENT-BALANCE                  N        4.0
        -- Current Source Size: 1969  Free: 78200 ----------------------- S 12   L 1

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

## Obere Informationszeile

Die obere Informationszeile des Editor-Bildschirms kann (von links nach rechts) folgende Bestandteile aufweisen:

Data-Area-Typ | Zeigt den Typ der Data Area an, die sich zurzeit im Editor-Arbeitsbereich befindet: `Local`, `Global` oder `Parameter`. Sie können den Typ mit dem Editor-Kommando `SET TYPE` ändern.
Änderungsanzeige: `*` | Ein Stern (*) zeigt an, ob der zurzeit im Editor-Arbeitsbereich befindliche Quellcode noch nicht gespeicherte Änderungen enthält. Der Stern (*) erscheint außerdem bei neuem Quellcode, der noch nicht als Source-Objekt gespeichert worden ist. Der Stern (*) ist nur dann vorhanden, wenn die Editor-Profil-Option Source Status Message auf `Y` gesetzt ist (siehe Editor-Profil). Der Stern (*) verschwindet, nachdem Sie auf dem Quellcode das Kommando `SAVE` oder `STOW` erfolgreich ausgeführt haben. Siehe auch Exit-Funktion.
Data Area Name | Der Name der Data Area, die sich zurzeit im Editor-Arbeitsbereich befindet. Wenn der Editor-Arbeitsbereich leer ist oder wenn der aktuelle Quellcode noch nicht mit dem Kommando `SAVE`, `CATALOG` oder `STOW` als Source-Objekt gespeichert worden ist, wird kein Name angezeigt.
Lib | Die Library, bei der Sie zurzeit angemeldet sind.
DBID | Die Datenbankkennung der aktuellen Systemdatei.
FNR | Die Dateinummer der aktuellen Systemdatei.

## Editor-Kommandozeile

Die Kommandozeile enthält das Wort Command als Eingabeaufforderungszeichen. In der Zeile nach diesem Zeichen können Sie Folgendes eingeben:

- Ein beliebiges Systemkommando.

  Beispiel: Das Systemkommando `CHECK` können Sie benutzen, um die Syntax des Quellcodes zu prüfen, und das Systemkommando `SAVE`, um den Quellcode zu speichern. Siehe auch Data Area speichern und katalogisieren.

  Weitere Informationen siehe Systemkommandos Anwendungen mit Natural-Programmobjekten pflegen in der Systemkommandos-Dokumentation.

- Der Name eines Natural-Programms, das ausgeführt werden soll.

- Ein oder mehrere Editor-Kommandos.

Anmerkung
Wenn Sie eine Definition geändert haben, indem Sie eine Änderung eingegeben oder ein Editor-Kommando benutzt haben, können Sie ein Systemkommando erst dann eingeben, nachdem Sie Enter drücken.

### Richtungsanzeige

Die rechts neben dem Größer-Als-Zeichen > eingegebene Richtungsanzeige bestimmt die Ausführungsrichtung bei bestimmten Editor-Kommandos und Zeilenkommandos:

- #### +

  (Pluszeichen)

  Die Ausführung des Kommandos erfolgt ab der obersten auf dem Bildschirm angezeigten Zeile (bzw. ab der Zeile, in der ein Zeilenkommando eingegeben wird) bis zum Ende des Quellcodes. Dies ist die Standard-Einstellung.

- #### -

  (Minuszeichen)

  Die Ausführung des Kommandos erfolgt ab der obersten auf dem Bildschirm angezeigten Zeile (bzw. ab der Zeile, in der ein Zeilenkommando eingegeben wird) bis zum Anfang des Quellcodes.

Die genaue Interpretation können Sie den Beschreibungen der betreffenden Editor-Kommandos und Zeilenkommandos entnehmen. Siehe auch die Editor-Profil-Option Direction Indicator im Abschnitt Editor-Profil.

## Untere Informationszeile

Die untere Informationszeile des Editor-Bildschirms kann folgende Bestandteile haben:

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

  Die Größe des aktuellen Quellcodes (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).

- #### 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.

## Editierbereich benutzen

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 Beispiel im Abschnitt Data Area Editor aufrufen.

Wenn Sie der 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.

Um im Editierbereich zu navigieren:

- Benutzen Sie die Editor-Kommandos. Siehe Editor-Kommandos zum Positionieren.

Um Variablen oder Felder anzulegen oder zu ändern:

- Sie können die Definitionen aller Variablen oder Felder in den Spalten der betreffenden Quellcode-Zeile eingeben oder ändern.

  Sie können angeben, ob die Zeichen, die Sie eingeben, automatisch in Großbuchstaben umgesetzt werden sollen, indem Sie die Editor-Profil-Optionen Editing in Lower Case und Dynamic Conversion of Lower Case entsprechend setzen. Weitere Informationen siehe Editor-Profil.

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

  Ein Zeilenkommando wird zum Beispiel benutzt, um eine Zeile einzufügen, die Definition einer Variablen oder eines Feldes aus einem anderen Natural-Objekt zu kopieren oder um Funktion zum Bearbeiten einer erweiterten Feld-Definition aufzurufen (siehe Erweiterte Felddefinitionen bearbeiten).

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

  Ein Editor-Kommando wird zum Beispiel benutzt, um einen Zeilenblock zu löschen oder um Präfixe für Namen anzugeben.

## Spalten im Editierbereich

Der Editierbereich des Editor-Bildschirms ist in Spalten unterteilt, in denen alle Attributdefinitionen, die zu einer Variablen oder einem Feld gehören, in einer Zeile gepflegt werden können.

Der Editierbereich enthält folgende Spalten:

Spaltenüberschrift | Erklärung
--- | ---
I |
Markierungsanzeige. Dies ist ein Informationsfeld, das vom Editor ausgefüllt wird. Diese Spalte ist nicht änderbar. Mögliche Spalteneinträge:
`+` | Zeigt an, dass zu der Variablen oder dem Feld mehr als einer der weiter unten aufgeführten Einträge vorhanden sind.
`E` | Zeigt an, dass ein Definitionsfehler festgestellt wurde.
`A` | Zeigt an, dass Array-Grenzen mit dem Zeilenkommando `.E` definiert worden sind.
`I` | Zeigt an, dass ein Anfangswert mit dem Zeilenkommando `.E` definiert worden ist.
`M` | Zeigt an, dass eine Editiermaske und/oder eine Überschrift mit dem Zeilenkommando `.E` definiert worden ist.
`S` | Zeigt an, dass sowohl ein Anfangswert als auch eine Editiermaske mit dem Zeilenkommando `.E` definiert worden sind.
Folgende Anzeigen treffen nur bei PDAs zu:
blank | Zeigt die Parameterangabe Call-by-Reference an (Standardwert).
`V` | Zeigt die Parameterangabe Call-by-Value an.
`R` | Zeigt die Parameterangabe Call-by-Value-Result an.
`O` | Zeigt einen optionalen Parameter an, der übergeben werden kann.
Weitere Informationen siehe Funktionscode P in Erweiterte Felddefinition bearbeiten.
T |
Typ der Variablen oder des Feldes. Mögliche Typen:
`B` | Ein Datenblock innerhalb einer GDA.
`C` | Eine benutzerdefinierte Konstante (gilt nicht bei PDAs) oder eine Zähler-Feld (`C*` Variable). Ein Zähler-Feld wird verwendet, um die Anzahl der Ausprägungen eines multiplen Feldes oder einer Periodengruppe in einer View (DDM) festzustellen Siehe auch CONSTANT-Option in der Statements-Dokumentation und Internen Zähler für ein Datenbank-Array referenzieren — C*-Notation im Leitfaden zur Programmierung.
`G` | Eine Gruppe in einer View (DDM).
`M` | Ein multiples Feld in einer View (DDM).
`O` | Handle eines Objekts.
`P` | Eine Periodengruppe in einer View (DDM).
`R` | Die Redefinition einer Variablen oder eines Feldes.
`U` | Der Globally Unique Identifier (GUID).
`V` | Gilt nicht bei PDAs. Eine View-Definition, die aus einer DDM erstellt wurde.
blank | Eine Benutzervariable oder ein benutzerdefiniertes Feld oder eine Gruppenstruktur (nicht in einer View).
`*` | Ein Kommentarfeld.
L | Die Level-Nummer (Strukturebene) der Variablen oder des Feldes (1 - 99). Variablen, die sich nicht in einer hierarchischen Struktur befinden, müssen Sie den Level 1 zuweisen. Level-Nummern können nicht bei Datenblock-Definitionen verwendet werden.
Name | Der Name der Variablen oder des Feldes, des Blocks oder der View. Informationen zu gültigen Namen siehe Namenskonventionen für Benutzervariablen in der Dokumentation Natural benutzen. Informationen zu Benutzerkonstante siehe `CONSTANT` in der Statements-Dokumentation. Anstatt der Vergabe eines Variablennamen kann auch die Füllbyte-Notation `nX` benutzt werden. Bei der Füllbyte-Notation können in dem Feld oder der Variablen, das bzw. die neu definiert wird, `n` Füllbytes angegeben werden. Dabei kann `n` für bis zu 10 Stellen (kleiner als 1 GB) stehen. Die Definition von nachgestellten Füllbytes ist optional.
F | Das Natural-Datenformat der Variablen oder des Feldes. Gültige Formate siehe Format und Länge von Benutzervariablen und Spezielle Formate im Leitfaden zur Programmierung. Bei einem Zähler-Feld (`C*`-Variable) können Sie als Natural-Datenformat/Länge I2 oder I4 angeben. Die Standardeinstellung, bei nicht vorhandener Format/Längenangabe ist N3.
Length | Die Länge der Variablen oder des Feldes. Informationen zu gültigen Längenangaben siehe Format und Länge von Benutzervariablen im Leitfaden zur Programmierung. Bei den Natural-Datenformaten C, D, T und L ist keine Längenangabe zulässig. Sie können dynamische Variablen definieren, indem Sie `DYNAMIC` im Feld Length angeben. Bei einem Zähler-Feld (`C*`-Variable) können Sie als Natural-Datenformat/Länge I2 oder I4 angeben. Die Standardeinstellung, bei nicht vorhandener Format/Längenangabe ist N3.
Miscellaneous | Dieses Eingabefeld können Sie benutzen, um die im Abschnitt Spalte "Miscellaneous" (Verschiedenes) benutzen beschriebenen Definitionen einzugeben.

### Spalte "Miscellaneous" (Verschiedenes) benutzen

In diesem Abschnitt werden die Definitionen beschrieben, die in den Feldern der Spalte "Miscellaneous" (Verschiedenes) eingegeben werden können.

Da das Feld Miscellaneous zu kurz sein kann, um alle erforderlichen Angaben zu machen, steht das Zeilenkommando `.E` für die erweiterte Bearbeitung der Feld-Definition zur Verfügung.

Eine Definition kann bis zu 32 Zeichen lang sein, wobei nur 26 Zeichen auf dem Bildschirm angezeigt werden. Mit den Editor-Kommandos `M +/-` können Sie in dem Feld nach rechts und links blättern. Wenn Sie ein Fragezeichen (?) in der ersten Stelle des Feldes Miscellaneous eingeben, öffnet sich ein zusätzliches Fenster, in dem Sie alle 32 Zeichen anzeigen oder zusätzliche Zeichen eingeben können.

Folgendes können Sie definieren:

> Array

>   Geben Sie die obere und die untere Grenze eines Array ein. Weitere Informationen zu Arrays siehe Arrays im Leitfaden zur Programmierung.

>   Beispiele:

>       (2,2)   /* 2 dimensions, 2 occurrences
>       (2,2,2) /* 3 dimensions, 2 occurrences
>       (1:10,2)
>       (-1:3,2)

> Anfangswert

>   Gilt nicht bei PDAs.

>   Geben Sie einen Anfangswert gemäß den Natural-Syntax-Definitionen in einem `DEFINE DATA`-Statement ein. Ausführliche Informationen zum Definieren von Anfangswerten siehe Definition eines Ausgangswerts und Ausgangswerte/Konstanten-Werte für ein Array in der Statements-Dokumentation.

>   Beispiele:

>       INIT<3>
>       INIT<'ABC'>
>       INIT<H'F1F2'> /* binary variable (B2)
>       CONST<12>
>       INIT ALL<'ABC'>

> Editiermaske, Überschrift und/oder Druck-/Anzeige-Modus

>   Editiermasken und Überschriften gelten nicht bei PDAs.

>   Geben Sie die Definition einer Editiermaske oder einer Überschrift und/oder den Druck-/Anzeige-Modus entsprechend den Regeln ein, die bei den entsprechenden Session-Parametern `EM` oder `EMU`, `HD` und `PM` gelten. Siehe Parameter-Referenz-Dokumentation.

>   Beispiele:

>       (EM=999.99)
>       (HD='TEXT' EM=XXX.XXX.XX PM=N)

> Kommentar

>   Ein Kommentartext, der durch einen Schrägstrich und einen Stern (/*) eingeleitet werden muss.

> Name einer DDM

>   Bei einer View-Definition müssen Sie den Namen der DDM angegeben, von dem die View abgeleitet wird.

>   Sie können den Namen der DDM ändern, wenn alle Felder der View auch in der DDM mit dem geänderten Namen enthalten sind.

> Name übergeordneten "Parent"-Blocks

>   Bei einer Block-Definition müssen Sie den Namen des entsprechenden, übergeordneten "Parent"-Blocks eingeben.

## Erweiterte Felddefinition bearbeiten

Mit der Funktion zur erweiterte Felddefinition können Sie Folgendes definieren:

- Parameter und Arrays in PDAs.

- Arrays, Anfangswerte, Editiermasken und Überschriften in LDAs und GDAs. Dies ist eine Alternative zur Benutzung der Spalte Miscellaneous.

Um die Funktion zur erweiterte Felddefinition auszuführen:

1. Geben Sie in der Spalte T neben der Variablen oder dem Feld, bei dem Sie erweiterte Attribute definieren möchten, folgendes Zeilenkommando ein:

       .E

   Es erscheint das Menü Extended Field Definition Editing. Beispiel für eine Benutzervariable in einer LDA:

       17:54:34                *****  EDIT FIELD  *****                     2010-08-23
                         - Extended Field Definition Editing -

       Local     *LDA2     Library SAGTEST                        DBID    10 FNR    32

                Code  Function                        Definition
               -----  ------------------------------  ----------
                 S     Single Value Initialization    no
                 F     Free Mode Initialization       no
                 E     Edit Mask Definition           no
                 A     Array Index Definition         no
                 ?     Help
                 .     Exit

               -----  ------------------------------  ----------

          Code   ?  for Field: #USER-VARIABLE-1(A10)

   Die im Menü Extended Field Definition Editing zur Verfügung stehenden Funktionen sind abhängig von der Data Area, dem Typ der Variablen und dem Inhalt des Feldes Miscellaneous.

   Beispiel: Wenn eine Variable bereits im Feld Miscellaneous initialisiert worden ist, dann sind die Funktionen Single Value Initialization und Free Mode Initialization nicht verfügbar.

   Anmerkung
   Wird `.E` bei einem DDM-Feld ausgeführt, dann wird der Bildschirm Define Edit Mask / Header sofort aufgerufen (siehe folgenden Schritt), weil bei DDM-Feldern nur Editiermasken und Überschriften definiert werden können. Bei DDM-Feldern können keine Anfangswerte definiert werden.

2. Wählen Sie die benötigte Funktion, indem Sie den entsprechenden Code eingeben. Informationen zu den Funktionen siehe Funktionen im Menü zur erweiterten Feld-Definition

   Je nach gewählter Funktion erscheint entweder ein weiteres Menü oder ein erweiterter Feld-Editierbereich ähnlich wie im folgenden Beispiel eines Define Edit Mask / Header-Bildschirms:

       17:50:59                *****  EDIT FIELD  *****                     2010-08-23
                             - Define Edit Mask / Header -
       Local     *LDA2     Library SAGTEST                        DBID    10 FNR    32
       Command

       #USER-VARIABLE-1(A10)
       ----------------------------------------------------------------------
       (EM=                                                                 )
       ----------------------------------------------------------------------
       Save as unicode edit mask (EMU) .. N  (Y/N)

       #USER-VARIABLE-1(A10)
       -------------------------------------------------------------------
       (HD='                                                            ')
       -------------------------------------------------------------------

3. Geben Sie eine Definition bzw. einen Funktionscode ein.

   Anmerkung
   Beim Bearbeiten wird die Definition nicht auf Syntaxfehler überprüft. Sie können die Definitionen nach dem Beenden der erweiterten Feld-Definition mit dem Kommando `CHECK` prüfen.

4. Wenn Sie die Definition erstellt haben und zum Menü Extended Field Definition Editing zurückkehren, wird die Änderung in der Spalte Definition folgendermaßen angezeigt:

       17:59:00                *****  EDIT FIELD  *****                     2010-08-23
                         - Extended Field Definition Editing -

       Local     *LDA2     Library SAGTEST                        DBID    10 FNR    32

                Code  Function                        Definition
               -----  ------------------------------  ----------
                 S     Single Value Initialization    no
                 F     Free Mode Initialization       no
                 E     Edit Mask Definition           yes
                 A     Array Index Definition         no
                 D     Delete all Definitions
                 ?     Help
                 .     Exit

               -----  ------------------------------  ----------

          Code   ?  for Field: #USER-VARIABLE-1(A10)

   Wenn Anfangswerte, Editiermasken, Überschriften oder Array-Index-Definitionen definiert worden sind, ändert sich die entsprechende Statusmeldung in der Spalte Definition vom `no` nach `yes`. Wenn in einer PDA ein Parametertyp definiert worden ist, wird in der Spalte Definition die Abkürzung des Parametertyps (zum Beispiel `Val` für Call-by-Value) angezeigt.

Definitionen, die in den Unterfunktionen Initial Values und Edit Mask / Header vorgenommen werden, werden sofort in die Data Area übernommen, die zurzeit im Data Area-Editor angezeigt wird, sie werden aber nicht in der Spalte Miscellaneous des Editierbereichs angezeigt. Ein entsprechender Eintrag wird nur in der Spalte I (Label-Anzeige) angezeigt.

Die Funktionen, die im Menü Extended Field Definition Editing zur Verfügung stehen, und die Kommandos, die in einem erweiterten Feld-Bearbeitungsbereich verfügbar sind, werden im folgenden Abschnitt beschrieben:

- Funktionen im Menü zur erweiterten Feld-Definition

- Kommandos im erweiterten Feld-Editierbereich

### Funktionen im Menü zur erweiterten Feld-Definition

In der folgenden Tabelle werden alle Funktionen, die im Menü Extended Field Definition Editing zur Verfügung stehen können, erklärt:

Bei einer Attribut-Kontrollvariablen sind nur die Funktionscodes S, F, P, A und D zulässig.

Bei einem Feld, das ein anderes Feld neu definiert, sind nur die Funktionscodes E, A und D zulässig.

Funktionscode | Funktion
--- | ---
S | Definiert einen Anfangswert für die angegebene Variable oder das angegebene Feld im Einzelwertmodus (Single Value Initialization). Sie brauchen nur den erforderlichen Variablen-/Feldwert einzugeben. Alle sonst noch erforderlichen Angaben (einschließlich Apostrophe bei alphanumerischen Variablen oder Feldern sowie Präfixe wie z.B. `H` für hexadezimal) werden automatisch generiert. Beispiel: Aus einem Anfangswert `F1F2` für eine binäre Variable (B2) erzeugt der Editor `INIT <H'F1F2'>`. Handelt es sich bei der Variablen oder dem Feld um ein Array, kann ein Ausgangswert für jede einzelne Ausprägung definiert werden (muss aber nicht). Bei Arrays mit großen alphanumerischen Variablen oder Feldern (z.B. Arrays dynamischer Variablen) müssen Sie im Feld Next index (Y/N) ein `Y` (ja) eingeben, um zum nächsten Index des Arrays zu springen. Bei Arrays kann in der Kommandozeile Stern-Notation (*) eingegeben werden, um den Wert in der letzten Zeile der vorigen Seite bis zum Ende der aktuellen Seite zu wiederholen. Bei Attribut-Kontrollvariablen wird ein Bildschirm angezeigt, in dem Sie Attribute und Farben als Anfangswerte auswählen können. Weitere Informationen siehe Session-Parameter `AD` und `CD` in der Parameter-Referenz-Dokumentation. Um anstelle eines Anfangswertes einen Konstanten-Wert zu definieren, müssen Sie im Feld Define as CONSTANT (Y/N) ein `Y` eingeben.
F | Definiert einen Anfangswert für das angegebene Feld im Free-Modus (Free Mode Initialization). Dazu ist ein Free-Modus-Editor verfügbar, in dem Sie die Ausgangswerte gemäß den üblichen Natural-Syntax-Definitionen in einem `DEFINE DATA`-Statement eingeben können. Ausführliche Informationen zu Ausgangswerten siehe Definition eines Ausgangswerts Ausgangswerte/Konstanten-Werte für ein Array in der Statements -Dokumentation. Siehe auch Beispiele unter Ausgangswert.
E | Definiert eine Editiermaske und/oder eine Überschrift für das angegebene Feld gemäß den Natural-Regeln für die Angabe von Editiermasken und Überschriften. Wenn Sie sowohl eine Editiermaske als auch eine Überschrift angeben, dürfen beide zusammen nicht länger 57 Zeichen sein. Wenn Sie jedoch nur eine Editiermaske angeben, darf diese bis zu 63 Zeichen lang sein. Wenn Sie nur eine Überschrift angeben, darf diese bis zu 58 Zeichen lang sein. Wenn `.E` bei einem DDM-Feld eingeben wird, dann wird diese Funktion sofort aufgerufen, weil bei DDM-Feldern nur Editiermasken und Überschriften definiert werden können.
P |
Diese Funktion gilt nur bei PDAs. Mit dieser Funktion können Sie festlegen, auf welche Weise der Wert, der bei einem `CALLNAT`-Statement als Parameter angegeben ist, von einem Programm an ein aufgerufenes Objekt (z.B. Subprogramm) übergeben werden soll. Im oberen Eingabefeld können Sie einen der folgenden Code-Werte eingeben:
`D` | Call-by-Reference (Standardwert).
`V` | Call-by-Value.
`R` | Call-by-Value-Result.
Weitere Informationen siehe `BY VALUE` und `BY VALUE RESULT` in der Beschreibung des `DEFINE DATA`-Statement in Definition von Parameterdaten und operand2 in der Beschreibung des `CALLNAT`-Statement in der Statements-Dokumentation.
Zusätzlich können Sie im unteren Eingabefeld angeben, ob ein Parameter übergeben werden muss oder kann:
`N` | Ein Parameter muss übergeben werden (Standardwert).
`Y` | Ein optionaler Parameter kann übergeben werden.
Weitere Informationen siehe entsprechende Option `OPTIONAL` in der Beschreibung des `DEFINE DATA`-Statement in Definition von Parameterdaten und operand2 in der Beschreibung des `CALLNAT`-Statement in der Statements-Dokumentation.
A | Definiert Array-Grenzen für das angegebene Feld. Dazu ist ein Free-Modus-Editor verfügbar, in dem Sie die Grenzdefinitionen gemäß den üblichen Natural-Syntax-Definitionen eingeben können. Während der Bearbeitung erfolgt jedoch keine Überprüfung der angegebenen Werte (dazu müssen Sie das Kommando `CHECK` benutzen).
D | Löscht alle Definitionen, die mit den Funktionscodes S, F, E, P und A vorgenommen wurden. Es erscheint ein zusätzlicher Bildschirm, in dem Sie die zu löschenden Definitionen angeben können. Standardmäßig sind alle Definitionen mit einem `Y` (ja) vorbelegt. Wenn Sie eine Definition nicht löschen möchten, müssen Sie hinter der betreffenden Definition das `Y` entfernen oder es durch ein `N` (nein) ersetzen.

### Kommandos im erweiterten Feld-Editierbereich

In der folgenden Tabelle werden die Kommandos erläutert, die in der Kommandozeile eines erweiterten Feld-Editierbereichs eingegeben werden können:

Kommando | Funktion
--- | ---
`EDIT` | Rückkehr zum Editierbereich des Editor-Bildschirms.
`I` | Zum nächsten Index des Arrays springen.
`.` | Rückkehr zum vorigen Bildschirm, um die Verarbeitung fortzusetzen.
`--` | Rückkehr zum Anfang der Anfangswert-Spezifikation(en).
`+` | Eine Seite nach unten blättern. Beim Erreichen der letzten Seite, oder falls nur eine Seite vorhanden ist, erfolgt die Rückkehr zum Editierbereich des Editor-Bildschirms.
`*` | Kopiert den Anfangswert der letzten Ausprägung der vorigen Seite in alle leeren Felder der aktuellen Seite. Steht nur bei Arrays im Einzelwertmodus zur Verfügung.

## Zeilenkommandos

Zeilenkommandos werden in der Spalte T einer Quellcode-Zeile eingegeben.

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.

Das Standard-Fluchtzeichen, das vor jedem Zeilenkommando vorangestellt werden muss, ist ein Punkt (.). Sie können das Standard-Fluchtzeichen mit der Editor-Profil-Option Escape Character for Line Command ändern (siehe Editor-Profil).

Die beim Data Area Editor zur Verfügung stehenden Zeilenkommandos sind nachfolgend aufgeführt. Die Notation `(n)`, `(nnn)` oder `(nnnn)` zeigt einen Wiederholungsfaktor an. Der Standard-Wiederholungswert ist 1 (mit Ausnahme beim Kommando .I). Eine Erklärung der verwendeten Syntaxsymbole finden Sie im Abschnitt Systemkommando-Syntax in der Systemkommandos-Dokumentation.

Kommando | Funktion
--- | ---
`.C[(nnnn)]` | Kopiert die Zeile, in der das Kommando eingegeben wurde. Siehe auch Anmerkungen zu den Zeilenkommandos.
`.CX[(nnnn)]` or `.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 Zeilenkommandos `.X` und `.Y` sowie Anmerkungen zu den Zeilenkommandos.
`.D` | 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). Wird das Zeilenkommando bei einem einzelnen Feld eingegeben wird, dann wird nur dieses Feld gelöscht. Wird das Zeilenkommando bei einem Teil einer hierarchischen Struktur (View, Gruppe, Redefinition) eingegeben, dann werden alle nachfolgenden Definitionen auf den untergeordneten Ebenen (Level) ebenfalls gelöscht. Wenn Sie zum Beispiel `.D` bei einer auf Ebene 2 definierten Gruppe eingeben, wird alles, was zu dieser Gruppe gehört und eine Ebenen-Nummer größer als 2 hat ebenfalls gelöscht, und zwar bis zur nächsten Ebene-2-Definition (die es jedoch nicht betrifft). Kommentarzeilen (denen üblicherweise keine Ebene zugewiesen wird) werden ebenso als auf einer untergeordneten Ebene befindlich behandelt. Um ein nicht erwünschtes Löschen eines Kommentars zu vermeiden, müssen Sie ihm eine geeignete Ebene zuweisen.
`.D(nnnn)` | Löscht `nnnn` 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. Im Gegensatz zum Zeilenkommando `.D` (siehe oben) betrifft `.D(nnnn)` nur die angegebene Anzahl an Zeilen, und zwar unabhängig von einer hierarchischen Struktur.
`.E` | Ruft den Bildschirm Extended Field Definition Editing auf, der dazu dient, Array-Grenzen, Anfangswerte, Editiermasken, Überschriften und Parameter-Attribute zu definieren. Weitere Informationen siehe Erweiterte Felddefinition bearbeiten.
`.F(file-name)` | Fügt eine Predict-Datei ein (gilt bei den Dateitypen "Conceptual", "Standard", "Sequential" und "Other"). Der Name einer Predict-Datei wird in der Spalte Miscellaneous angezeigt.
`.I[(n)]` | Fügt `n` Leerzeilen hinzu. Dabei kann `n` im Bereich von 1 bis 9 liegen. Wird `n` nicht (oder nicht korrekt) angegeben, werden standardmäßig 10 Zeilen (5 Zeilen im Split-Screen-Modus) hinzugefügt. Zeilen, die leer gelassen werden, werden anschließend aus dem Quellcode entfernt. Dies ist abhängig von der Einstellung der Editor-Profil-Option Empty Line Suppression. Siehe Editor-Profil. Anmerkung Es kein nur jeweils ein `.I`-Kommando ausgeführt. Siehe auch Anmerkungen zu den Zeilenkommandos.
`.I(obj)` | Kopiert Variablen- oder Parameter-Definitionen aus einem anderen Natural-Objekt folgenden Typs: Data Area Programm Subprogramm Subroutine Helproutine Map Function Wenn das bei `obj` angegebene Objekt keine Data Area ist, muss es als katalogisiertes Objekt verfügbar sein. Es erscheint ein Fenster im Data Area Editor-Bildschirm, in dem Sie eine der folgenden Datendefinitionen auswählen können, die in die aktuelle Data Area aufgenommen werden sollen: Alle in dem angegebenen Objekt enthaltenen lokalen Variablen und Parameter (einschließlich der, die aus LDAs und/oder PDAs übernommen wurden). Alle in dem angegebenen Objekt enthaltenen lokalen Variablen (einschließlich der, die aus LDAs übernommen wurden). Nur diejenigen lokalen Variablen, die in dem angegebenen Objekt enthalten sind. Alle Parameter, die in dem angegebenen Objekt enthaltenen sind (einschließlich der, die aus PDAs übernommen wurden). Nur diejenigen Parameter, die in dem angegebenen Objekt enthaltenen sind. Außerdem können Folgendes wählen: Alle nicht benutzten und benutzten Variablen (standardmäßig gewählt). Nur die benutzten lokalen Variablen, die referenziert oder geändert werden. Nur die nicht benutzten Variablen, die definiert, aber nicht referenziert oder geändert werden. Wenn Sie nicht benutzte Variablen übernehmen, kann es sein, dass die Ebenen-Nummern nicht die richtige Reihenfolge aufweisen. Daher sollten Sie die Ebenen aller übernommenen nicht benutzten Variablen auf korrekte Nummerierung prüfen, bevor Sie die Data Area kompilieren. Wenn Sie Variablen-Definitionen aus Objekten übernehmen, die keine `DEFINE DATA`-Statement-Definition enthalten (d.h., aus Objekten, die im Reporting Mode kodiert wurden), kann es vorkommen, dass Variablen-Redefinitionen (siehe `REDEFINE`-Statement in der Statements-Dokumentation) an die falsche Stelle, d.h. hinter die falsche Variable, platziert werden. Daher sollten Sie alle Variablen-Definitionen und -Redefinitionen auf korrekte Positionierung prüfen, bevor Sie die neue Data Area kompilieren. Falls bei einer Variablen-Redefinition mehr als eine Variable resultieren, wird jede Variable als einzelne, eigene Redefinition eingebaut, wobei gegebenenfalls Füllbytes verwendet werden. Falls das angegebene Objekt mit dem Natural Optimizer Compiler katalogisiert worden ist, können Anfangswerte und Konstanten nicht übernommen werden. Falls das Objekt, das Sie einfügen möchten, Merkmale aufweist, die der Area Editor nicht unterstützt, erscheint eine entsprechende Meldung und die betroffene Zeile wird als Kommentarzeile markiert. Siehe auch Anmerkungen zu den Zeilenkommandos.
`.I(obj,ssss,nnnn)` | Fügt eine GDA, eine LDA oder eine PDA ein. Dieses Merkmal wird nur bei Data Areas unterstützt, die keine Anfangswerte oder Editiermasken enthalten. Der Eintrag `ssss` kann benutzt werden, um anzugeben, bei welcher Zeile die Einfügung beginnen soll. Wenn Sie beispielsweise `ssss` auf `20` setzen, beginnt die Einfügung bei der 20. Zeile der Data Area. Der Eintrag `ssss` kann benutzt werden, um die Anzahl der einzufügenden Zeilen anzugeben. Wird `ssss` und/oder `nnnn` bei einem Objekt angegeben, bei dem es sich nicht um eine Data Area handelt (siehe Kommando `.I(obj)`), wird/werden der/die angegebene(n) Wert(e) nicht beachtet. Siehe auch Anmerkungen zu den Zeilenkommandos.
`.L` | Macht alle seit dem letzten Drücken der Enter-Taste an der Zeile vorgenommenen Änderungen rückgängig.
`.MX` or `.MY` | Verschiebt die mit `X` oder mit `Y` markierte Zeile. Siehe auch Zeilenkommandos `.X` und `.Y` und Anmerkungen zu den Zeilenkommandos.
`.MX-Y` | Verschiebt den Zeilenblock, der mit den Markierungen `X` und `Y` eingegrenzt ist. Siehe auch Zeilenkommandos `.X` und `.Y` und Anmerkungen zu den Zeilenkommandos.
`.N` | Markiert (unsichtbar) eine Zeile, die mit den Editor-Kommando `POINT` an den Anfang des Quellcode-Arbeitsbereichs positioniert werden soll. Siehe Editor-Kommandos zum Positionieren . 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.
`.R` | Redefiniert eine Variable oder ein Feld als eine einzelne Variable oder eine Variablen-Gruppe. Mit der optionalen Füllbyte-Notation (`nX`), `n` können Sie in der Variablen oder dem Feld, die/das neu definiert wird, Füllbytes bezeichnen. Siehe auch Anmerkungen zu den Zeilenkommandos.
`.V[(ddm-name[,NOFL])]` | Gilt nicht bei PDAs. Definiert eine View aus einem DDM. Geben Sie bei `ddm-name` das DDM an, aus dem Sie eine View definieren wollen. Die Felder des DDM werden dann im Editierbereich angezeigt. Markieren Sie die Felder, die in die View übernommen werden sollen, indem Sie ein beliebiges Zeichen in der Spalte I neben dem (den) benötigten Feld(ern) ein. Wenn Sie Enter drücken, werden diese Felder in eine View-Definition in der aktuellen Data Area kopiert, wobei der Name der View (standardmäßig ist das der Name des DDM) der Ebene 1 zugeordnet wird. Im Split-Screen-Modus wird das DDM, das sich zurzeit im geteilten Bildschirm befindet, im Editierbereich angezeigt, wenn Sie `.V` ohne `ddm-name` eingeben. Wird `.V(ddm-name`) in einer View angegeben, die denselben Namen hat wie bei `ddm-name` angegeben, werden die gewählten Felder in diese View eingefügt, und es wird keine neue View definiert. Wird `NOFL` angegeben, werden die gewählten Felder ohne Format/Längen-Angaben eingefügt. Wenn eine Periodengruppe oder ein multiples Feld, die/das in einem mit Predict als `PC` bzw. `MC` erzeugten DDM definiert ist, in eine Data Area eingefügt wird, dann wird automatisch ein Zähler-Feld (`C*`-Variable) generiert und vor die Gruppe bzw. das Feld platziert. Der Index für eine solche Periodengruppe oder ein solches multiples Feld wird mit der in Predict definierten Anzahl an Ausprägungen definiert. Ist die Anzahl der Ausprägungen in Predict nicht definiert worden, wird der Wert 191 verwendet. Wenn Predict aktiv ist, werden auch Redefinitionen und Kommentare eingefügt. Bei VSAM-Views wird immer die aktuelle Anzahl der Ausprägungen angezeigt. Zusätzlich können VSAM-Views noch Informationen zu Subdeskriptoren und Superdeskriptoren enthalten. Weitere Informationen siehe Natural for VSAM-Dokumentation.
`.VG` | Gilt nur bei Views. Konvertiert alle Felder einer View-Definition in Felder einer Gruppenstruktur. Geben Sie `.VG` neben der Zeile ein, die in der Spalte T ein `V` enthält. Wurde die View-Definition mit der `NOFL`-Option eingefügt (siehe Zeilenkommando `.V`), wird die Natural-Format/Längendefinition aus dem DDM gelesen und bei den Feldern der View hinzugefügt. Falls die View-Definition ein Zähler-Feld enthält (`C*`-Variable), ändert sich der Feldname von `C*NAME` in `C_NAME` und die Natural-Format/Längendefinition wird auf N3 gesetzt. Anmerkung `.VG` gilt nicht bei Masken- oder Überschriftendefinitionen. Wenn Sie eine Data Area in eine PDA konvertieren möchten, müssen Sie diese Definitionen in der LDA oder GDA entfernen.
`.X` | Gilt nicht bei Periodengruppen, multiplen Feldern oder View-Definitionen. Markiert eine Zeile mit einem `X`. Siehe auch Anmerkungen zu den Zeilenkommandos.
`.Y` | Gilt nicht bei Views, Periodengruppen, multiplen Feldern oder Redefinitionen. Markiert eine Zeile mit einem `Y`. Siehe auch Anmerkungen zu den Zeilenkommandos.
`.*` | Generiert ein Zähler-Feld (`C*`-Variable) für multiple Felder oder Felder in einer Periodengruppe. Siehe auch Anmerkungen zu den Zeilenkommandos.
`number [(nnn[,m])]` | Dieses Kommando ist nur im Split-Screen-Modus verfügbar, und wenn sich ein DDM im Split-Screen-Bereich befindet. Um Felder und Gruppen aus dem Split-Screen-Bereich zu übernehmen, muss die Zeilennummer des Feldes oder der Gruppe in der ersten Spalte ohne punkt (.) angegeben werden. Felder und Gruppen aus dem Split-Screen-Bereich können als Felder einer View (wenn `number` in einer View eingegeben wird) oder als Benutzervariablen eingefügt werden. Wenn das gewählte Feld denselben Namen hat wie das Feld, bei dem das Kommando eingeben wurde, dann wird es nicht eingefügt, sondern ersetzt. Wenn Sie die Notation `nnn` benutzen, können Sie mehrere Zeilen aus dem geteilten Bildschirm übernehmen. Dabei steht `nnn` für die Anzahl der einzufügenden Zeilen. Die Notation `m` kann benutzt werden, um dem Feld oder der Gruppe, das bzw. die eingefügt werden soll, eine Ebenen-Nummer zuzuweisen. Die Ebenen-Nummer in der Data Area kann geändert werden. Siehe auch Anmerkungen zu den Zeilenkommandos.

#### Anmerkungen zu den Zeilenkommandos:

- Die Kommandos `.I(obj)`, `.R` und `.*` stehen im Full-Screen-Modus (Vollbild), aber nicht Split-Screen-Modus (geteilter Bildschirm) zur Verfügung.

- 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.

## Editor-Kommandos

Editor-Kommandos werden in der Kommandozeile des Data Area Editors eingegeben. Die verfügbaren Editor-Kommandos werden in der nachfolgenden Tabelle beschrieben. Die in den Editor-Kommandos verwendeten Syntax-Symbole werden im Abschnitt Systemkommando-Syntax in der Systemkommandos-Dokumentation erklärt.

Editor-Kommando | Funktion
--- | ---
`ADD[(n)]` | Fügt n Leerzeilen hinzu. 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. Die aktuelle Data Area-Definition wird geprüft und katalogisiert. Wenn Sie eine neu angelegte Data Area-Definition katalogisieren oder wenn Sie die aktuelle Data Area-Definition kopieren wollen, müssen Sie zusammen dem Kommando einen Objektnamen angeben. Siehe auch Data Area speichern und katalogisieren.
`CHANGE ['scan-value'replace-value']` | Durchsucht die Data Area nach der als Suchwert (`scan-value`) eingegebenen Zeichenkette und ersetzt jeden gefundenen Suchwert mit der als Ersetzungswert (`replace-value`) eingegebenen Zeichenkette. Als Eingabebegrenzungszeichen kann jedes Sonderzeichen benutzt werden, dass in einem Natural-Variablennamen nicht gültig ist. Jede Zeile, in der eine Zeichenkette ersetzt wurde, wird am linken Zeilenrand mit einem `R` markiert. Weitere Informationen siehe `SCAN`-Kommando.
`CHECK` | Führt das Systemkommando `CHECK` aus, das die Syntax der aktuellen Data Area prüft. Falls ein Fehler gefunden wird, wird die fehlerhafte Zeile mit einem `E` markiert, und eine entsprechende Meldung wird in der Meldungszeile angezeigt. Wird kein Fehler gefunden, wird eine Meldung angezeigt, die die erfolgreiche Beendigung der Prüfung anzeigt. Bei Ausführung von `CHECK` werden die Einträge in der Spalte Miscellaneous (Verschiedenes) in folgender Reihenfolge sortiert: Array-Definition Anfangswert Editiermaske, Überschrift und/oder PM - Druck-/Anzeige-Modus Name eines DDM oder eines "Parent"-Blocks Kommentar
`CLEAR` | Führt das Systemkommando `CLEAR` aus, das den Arbeitsbereich löscht. Änderungen, die an der Data Area vorgenommen wurden, die sich zurzeit im Arbeitsbereich befindet, gehen dabei verloren, wenn sie nicht vorher gespeichert wurden.
`DX` or `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` or `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.
`GENERATE [object-name]` | Generiert ein Natural-Objekt des Typs Copycode aus der Data Area-Definition, die sich zurzeit im Arbeitsbereich befindet. Der Programm-Editor-Bildschirm erscheint. Er enthält den generierten Copycode im Editierbereich. Der Quellcode enthält ein `DEFINE DATA LOCAL`-Statement und das entsprechende `END-DEFINE`-Statement. Wird ein Objektname (`object-name`) angegeben, dann wird der generierte Copycode unter diesem Namen in der aktuellen Library in der aktuellen Systemdatei gespeichert.
`M +|-` |
Blätterkommandos für die Spalte Miscellaneous (Verschiedenes).
`+` | Blättert nach rechts.
`-` | Blättert nach links.
`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.
`READ object-name` | Führt das Systemkommando `READ` aus. Damit wird eine existierende Data Area-Definition in den Arbeitsbereich eingelesen. Die vollständige Syntax des Kommandos finden Sie bei `READ` in der Systemkommandos-Dokumentation.
`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 die aktuelle Data Area-Definition speichert. Wenn Sie eine neu angelegte Data Area-Definition speichern oder wenn Sie die aktuelle Data Area kopieren wollen, müssen Sie bei dem Kommando einen Objektnamen angeben. Siehe auch Data Area speichern und katalogisieren.
`SCAN scan-value` | Durchsucht die Data Area nach einer Zeichenkette (`scan-value`) in der Spalte Name (standardmäßig) und/oder in der Spalte Miscellaneous des Editor-Bildschirms (abhängig davon, ob zuvor das Kommando `SET SCAN` ausgeführt wurde). Jede Zeile, in der der Suchwert (`scan-value`) gefunden wird, wird am linken Zeilenrand mit einem `S` gekennzeichnet. Die erste Zeile, die den Suchwert (`scan-value`) enthält wird, abhängig von der aktuellen Einstellung der Richtungsanzeige, in die oberste oder in die unterste Zeile positioniert. 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 Arbeitsbereiches. Wenn die Richtungsanzeige auf `-` (Minuszeichen) gesetzt ist, erfolgt die Suche ab der letzten, auf dem Bildschirm angezeigten Zeile bis zur ersten Zeile des Arbeitsbereiches.
`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]` |
Legt fest, ob das `SCAN`-Kommando im absoluten oder nicht im absoluten Modus arbeitet.
`ON` | Das `SCAN`-Kommando arbeitet im absoluten Modus. Das bedeutet, dass es nicht nötig ist, den Wert, nach dem gesucht werden soll, durch Leerzeichen oder Sonderzeichen abzugrenzen.
`OFF` | Das `SCAN`-Kommando arbeitet nicht im absoluten Modus. Das bedeutet, dass Sie den Wert, nach dem gesucht werden soll, 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 PREFIX prefix|OFF` | Dient zur Angabe eines Präfixes für Variablen- oder Feldnamen. Dieser Präfix wird bei jeder eingegebenen oder geänderten Zeile automatisch dem in der Spalte Name eingegebenen Wert vorangestellt, falls der Name noch nicht mit diesem Präfix beginnt. Ist die verkettete Variable oder das verkettete Feld länger als 32 Bytes, erscheint eine entsprechende Meldung und der Wert in der Spalte Name kann verkürzt werden. Wird keine Verkürzung vorgenommen, dann wird der Präfix nicht eingefügt.
`SET SAVEFORMAT V31|V41` or `SET SF V31|V41` | Gibt das Standard-Quellcode-Format für Data Areas an. Einstellung `V31`: Data Area-Quellcodes werden im Format gespeichert, das kompatibel zu Natural Version 3.1 ist. Einstellung `V41`: Data Area-Quellcodes werden im erweiterten Quellcode-Format gespeichert (Standardeinstellung). Siehe auch Quellcode-Format zum Speichern der Data Area.
`SET SCAN COMMENT|NAME|ALL` |
Legt die Spalte(n) fest, in denen das `SCAN`-Kommando nach einem Suchwert (`scan-value`) suchen soll:
`COMMENT` | Die Spalte Miscellaneous wird durchsucht.
`NAME` | Die Spalte Name wird durchsucht.
`ALL` | Die Spalten Name und Miscellaneous werden durchsucht.
Die Standardeinstellung ist `NAME`.
`SET SIZE ON|OFF` | Wenn `SET SIZE` auf `ON` gesetzt ist, wird die Größe der Data Area in der unteren Informationszeile des Editor-Bildschirms angezeigt. Das Kommando `SET SIZE` entspricht der Editor-Profil-Option Source Size Information. Siehe Editor-Profil.
`SET STAY ON|OFF` | Wenn `STAY` auf `ON` gesetzt ist, wird der aktuelle Bildschirm weiterhin angezeigt. Eine Vorwärts-/Rückwärtspositionierung kann nur mit den Positionierungskommandos bewirkt werden. Wenn `STAY` auf `OFF` gesetzt ist, wird nach Drücken von Enter der nächste Bildschirm angezeigt, falls in dem aktuellen Bildschirm keine Änderungen vorgenommen worden sind. Das Kommando `SET STAY` entspricht der Editor-Profil-Option Stay on Current Screen. Siehe Editor-Profil.
`SET TYPE G|L|A` |
Mit diesem Kommando können Sie den Typ der aktuellen Data Area ändern:
`G` | Global Data Area
`L` | Local Data Area
`A` | Parameter Data Area
`SPLIT parameter` | Dieses Kommando bewirkt, dass der Editor-Bildschirm zwecks gleichzeitiger Anzeige eines anderen Objekts in zwei Hälften unterteilt wird. Siehe Split-Screen-Modus. `parameter` steht für einen Parameter, den Sie mit dem Kommando eingeben müssen. Siehe Split-Screen-Kommandos.
`STOW [object-name]` | Führt das Systemkommando `STOW` aus, mit dem die aktuelle Data Area-Definition gespeichert und katalogisiert wird. Wenn Sie eine neue Data Area-Definition speichern und katalogisieren wollen oder wenn Sie die aktuelle Data Area kopieren wollen, müssen Sie einen Objektnamen angeben. Sonst erscheint eine entsprechende Meldung. Siehe auch Data Area speichern und katalogisieren.

## Editor-Kommandos zum Positionieren

In diesem Abschnitt werden die Editor-Kommandos beschrieben, die zum Navigieren in der aktuellen Data Area benutzt werden können. Diese Editor-Kommandos können Sie in der Kommandozeile des Data Area Editors eingeben.

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.
`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`.

## Data Area speichern und katalogisieren

Bevor eine Data Area in einem Natural-Programm (oder einem anderen Objekt) benutzt werden kann, muss sie als Source-Objekt und/oder als katalogisiertes Objekt in einer Natural Library in der aktuellen Systemdatei gespeichert und katalogisiert werden.

Um die aktuelle Data Area zu speichern und zu katalogisieren:

- Benutzen Sie das Systemkommando `SAVE`, `CATALOG` oder `STOW`. Siehe Objekte speichern und katalogisieren in Natural benutzen.

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

Um eine Kopie des aktuellen Quellcodes zu behalten:

- Benutzen Sie die Editor-Optionen Source Save into und Auto Save Numbers. Weitere Informationen siehe 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.

### Quellcode-Format zum Speichern der Data Area

Beim Data Area Editor wird ein internes Quellcode-Format zum Speichern der Data Areas in der Systemdatei FUSER verwendet. Ab Natural Version 4.1 stehen neue Merkmale und Definitionen zur Verfügung. Deshalb muss die Data Area jetzt unter Verwendung eines erweiterten Quellcode-Formats in der Systemdatei FUSER gespeichert werden.

Der Platzbedarf zum Speichern des erweiterten Quellcode-Formats unter Natural Version 4.1 (und höher) ist größer als beim alten Quellcode-Format.

Data Areas, die im erweiterten Quellcode-Format gespeichert werden, können nicht mit Natural Version 3.1, bei der ein anderes Quellcode-Format verwendet wurde, benutzt oder bearbeitet werden. Der Data Area Editor in Natural Version 4.1 (und höher) unterstützt sowohl das Format der Version 3.1 als auch das erweitere Quellcode-Format. Der Editor kann beide Formate lesen. Er konvertiert das Natural Version 3.1-Format in das erweitere Quellcode-Format.

Standardmäßig werden Data Areas Data im Natural Version 4.1-Quellcode-Format gespeichert.

Solange keine Merkmale und Definitionen der Natural Version 4.1 (und höher) verwendet werden, können Data Areas auch im Format der Natural Version 3.1 gespeichert werden.

Das Quellcode-Format, das standardmäßig zum Speichern von Data Area benutzt werden soll, kann mit der User Exit Routine GDA-EX01 (siehe User Exit für den Data Area Editor) oder, während einer Editor-Sitzung, mit den Editor-Kommandos `SET SAVEFORMAT V31` oder `SET SAVEFORMAT V41` angegeben werden.

## User Exit für den Data Area Editor

Für den Data Area Editor steht eine User Exit Routine zur Angabe von Standard-Einstellungen vorhanden. Der Quellcode der User Exit Routine ist in der Library SYSEXT unter dem Namen GDA-ES01 zur Verfügung. Um den Exit zu aktivieren, müssen Sie das Source-Objekt als GDA-EX01 mit katalogisieren (`CATALOG`) oder speichern und katalogisieren (`STOW`) und dann GDA-EX01 in die Library SYSLIB kopieren. Eine ausführliche Beschreibung finden Sie beim Source-Objekt GDA-ES01 in der Library SYSEXT.

## 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 Function:.

- 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 der Source 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 | Explanation
  --- | ---
  Save and Exit | Speichert alle am aktuellen Quellcode vorgenommenen Änderungen. Die Editor-Sitzung wird beendet. Siehe auch SAVE Object Window.
  Exit without Saving | Die Editor-Sitzung wird beendet. Die seit dem letzten Speichern des Quellcode vorgenommenen Änderungen werden nicht gespeichert.
  Resume Function | 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ßnahme geschlossen und die Editor-Sitzung kann fortgesetzt werden.

### On this page

- Data Area Editor aufrufen
- Obere Informationszeile
- Editor-Kommandozeile
- Untere Informationszeile
- Editierbereich benutzen
- Spalten im Editierbereich
- Erweiterte Felddefinition bearbeiten
- Zeilenkommandos
- Editor-Kommandos
- Editor-Kommandos zum Positionieren
- Data Area speichern und katalogisieren
- User Exit für den Data Area Editor
- Exit-Funktion