Dieser Abschnitt beschreibt die Möglichkeiten, die Ihnen zur Verfügung stehen, um die Felder zu definieren, die Bestandteile einer Maske sein sollen.
Sie können die Maskenfelder direkt im Masken-Editierbereich definieren, indem Sie ein Trennzeichen (Delimiter) und danach die Anzahl der Stellen angeben, die dem Feld zugeordnet werden sollen. Sie können dazu die folgenden Zeichen verwenden:
| Zeichen | Bedeutung |
|---|---|
9 |
Numerische Stelle. |
0 |
Numerische Stelle, rechtsbündig. |
. |
Dezimal-Notation (nur bei einem numerischen Feld). |
S |
Vorzeichen-Stelle (nur bei einem numerischen Feld). |
HH |
Hexadezimale Stelle (binär) (muss in Zweiergruppen eingegeben werden). |
X |
Alphanumerische Stelle. |
Außerdem kann ein Wiederholungsfaktor in der Form
(n) angegeben werden. Beispiel:
X(5) ist gleichbedeutend mit XXXXX.
Nachfolgend einige Beispiele für Feld-Definitionen (das Trennzeichen kann entsprechend den Erfordernissen geändert werden):
:999 |
3 Stellen, numerisch |
:000 |
3 Stellen, numerisch, rechtsbündig |
:99.9 |
3 Stellen, numerisch, mit Dezimalzeichen |
:S9(6) |
6 Stellen, numerisch, mit Vorzeichen |
:HHHH |
4 Stellen, hexadezimal |
:X |
1 Stelle, alphanumerisch |
:X(7) |
7 Stellen, alphanumerisch |
Feldern, die wie oben dargestellt eingegeben werden, wird vom Masken-Editor ein funktionsloser Blindname zugewiesen. Vor der Ausführung der Maske muss jedem Feld ein gültiger Name zugewiesen werden. Dazu können Sie entweder die Funktion zur erweiterten Feld-Bearbeitung oder die Vorgehensweise beim nachträglichen Zuweisen von Feldern anwenden. Andere Feldformate können Sie mit Hilfe der Funktion zur erweiterten Feld-Bearbeitung angeben.
Um eine Maske zu definieren, können Sie auch Definitionen aus der lokalen Datendefinition eines anderen Natural-Source-Objekts auswählen. Bei den Datendefinitionen handelt es sich entweder um Felddefinitionen in einem DDM oder um Variablen-Definitionen.
Eine Liste von Objekttypen, die Sie für die Auswahl von Datendefinitionen benutzen können, finden Sie im Abschnitt Objekttypen und Typen-Codes.
Programme, Subroutinen, Subprogrammme, Helproutinen und Functions können Sie nur dann
benutzen, wenn diese ein DEFINE DATA LOCAL-Statement enthalten. Die
Definitionen bei einem DEFINE DATA USING-Statement stehen nicht für die
Auswahl zur Verfügung.
Felder mit dem Natural-Datenformat U (Unicode), C (Attribute Control) oder Handle (Object Handles) können Sie nicht auswählen. Diese stehen nicht für die Auswahl zur Verfügung.
Wenn Sie Konstanten für die Begrenzungen eines Array benutzen und wenn diese Konstanten nicht in der lokalen Datendefinition des gewählten Natural-Source-Objekts definiert sind, gehen die Begrenzungen verloren, wenn Sie das Array wählen.
Sie können kein Element wählen, dem ein Punkt (.) vorangestellt ist (z.B. eine Gruppe).
Eingabefelder und änderbare Felder (Eingabe/Ausgabe) können im Masken-Editierbereich nur einmal angegeben werden.
Dieser Abschnitt behandelt folgende Themen:
Um Datendefinitionen aus anderen Natural-Objekten aufzulisten und zu kopieren:
Benutzen Sie den Split-Screen-Modus des Masken-Editors.
Ob _ Ob D CLS ATR DEL CLS ATR DEL . . T D Blnk T I ? . . A D _ A I ) . . A N ¬ M D & . . M I : O D + . . O I ( . . 001 --010---+----+----+---030---+----+----+---050---+----+----+---070---+- |
Geben Sie in die Eingabefelder Ob (Object) links oben im
Bildschirm einen gültigen Objektcode (siehe auch Objekttypen und Typen-Codes
) und danach einen Objektnamen ein (z.B. P
TEST wie im Beispiel in
Schritt 4). Löschen Sie, soweit vorhanden, alle übrigen Zeichen in dieser
Zeile.
Oder:
Lassen Sie das erste (durch einen
Unterstrich gekennzeichnete) Eingabefeld der Eingabefelder Ob
(Object) links oben im Bildschirm leer und geben Sie im zweiten Eingabefeld ein
Fragezeichen (?) ein oder drücken Sie PF1 (Help). Löschen Sie, falls
vorhanden, alle übrigen Zeichen in dieser Zeile.
Wenn Sie Enter drücken, erscheint der Bildschirm Select an Object (Objekt auswählen) mit einer Liste aller Objekte, die in der aktuellen Library enthalten sind. Durch Drücken von Enter können Sie in der Liste blättern. Geben Sie im Feld Select die Nummer ein, die dem Objekt entspricht, das Sie auswählen möchten.
Drücken Sie Enter.
Links oben im Masken-Editierbildschirm werden jetzt die Datendefinitionen
angezeigt, die im DEFINE DATA-Abschnitt des
Natural-Programms enthalten sind (Programm TEST im folgenden
Beispiel).
Um in der Liste der Datendefinitionen in den
Ob-Eingabefeldern zu blättern, können Sie die vorhandenen
Einträge (P TEST im folgenden Beispiel) mit einem der folgenden Positionierungskommandos
überschreiben. Lassen Sie die übrig gebliebenen Zeichen bestehen.
| Kommando | Erläuterung |
|---|---|
+ |
In der Liste eine Seite nach unten blättern. |
++ |
An das Ende der Liste blättern. |
- |
In der Liste eine Seite nach oben blättern. |
– |
An den Anfang der Liste blättern. |
+n |
Um n Zeilen nach unten blättern. |
-n |
Um n Zeilen nach oben blättern. |
Um die Datendefinitionen eines anderen Objekts in den Ob-Eingabefeldern links oben im Bildschirm anzuzeigen, geben Sie einen gültigen Objektcode (siehe auch Objekttypen und Typen-Codes ) und danach einen Objektnamen ein. Löschen Sie, soweit vorhanden, alle übrig gebliebenen Zeichen in dieser Zeile.
Ob P TEST Ob L LDA01 1 #NAME-START A20 A #NAME-START A20 2 #NAME-END A20 B #NAME-END A20 3 #MARK A1 C #PERS-ID A8 . EMPLOYEES-VIEW *V1 D #MAKE A20 4 PERSONNEL-ID A8 E #MODEL A20 5 NAME A20 . 001 --010---+----+----+---030---+----+----+---050---+----+----+---070---+---- |
Oder:
Wählen Sie, wie zuvor in Schritt
2 beschrieben, ein Objekt aus der Liste.
Kopieren Sie die gewünschten Datendefinitionen in den Masken-Editierbereich:
Geben Sie an beliebiger Stelle einer Leerzeile im Masken-Editierbereich ein Trennzeichen und danach die neben der gewünschten Datendefinition angezeigte Folgenummer oder den Buchstaben ein, zum Beispiel:
(3
Diese Eingabe wählt die Datendefinition aus, die der Nummer 3 (im obigen
Beispiel #MARK) zugewiesen ist.
:C
Diese Eingabe wählt die Datendefinition aus, die dem Buchstaben C (im obigen
Beispiel #PERS-ID) zugewiesen ist.
Drücken Sie Enter.
Die Eigenschaften der Datendefinitionen (Name, Format, Länge oder Array-Definitionen) werden in die Maske kopiert.
Mittels der Feldbearbeitungsfunktionen des Masken-Editors können Sie die kopierten Werte anzeigen oder ändern. Siehe auch Erweiterte Feld-Bearbeitung und Array- und Tabellen-Definitionen .
Zu jedem aus einem DDM kopierten Maskenfeld wird automatisch ein
INCDIR-Statement in den Quellcode der Maske generiert. Das
INCDIR-Statement enthält den Namen der DDM-Datei und des Feldes, das von
dem Maskenfeld referenziert wird. Sie können prüfen, ob ein
INCDIR-Statement eine ungültige DDM-Referenz enthält, indem Sie die
CHKRULE-Option des Systemkommandos COMPOPT
einschalten. Natural gibt dann, wenn Sie die Maskendefinition katalogisieren, eine
entsprechende Fehlermeldung aus. Weitere Informationen siehe CHKRULE - Validierung von
INCDIR-Statements in Masken in der
Systemkommandos-Dokumentation.
Im Masken-Editierbereich können Sie alle INCDIR-Statements auflisten und,
falls erforderlich, den Namen eines DDM ändern.
Um ein einzelnes oder mehrere
INCDIR-Statements aufzulisten und zu aktualisieren:
Geben Sie das folgende Zeilenkommando in einer beliebigen Zeile des Editierbereichs ein:
..L
Der Bildschirm Modify INCDIR Statements of Map erscheint (Beispiel):
16:24:23 - Modify INCDIR Statements of Map MAPTEST - 2008-05-14
Top of List
DDM Name Field Name
AUTOMOBILES MAKE
AUTOMOBILES OWNER-PERSONNEL-NUMBER
FINANCE BANK
AUTOMOBILES MODEL
EMPLOYEES PERSONNEL-ID
AUTOMOBILES BODY-TYPE
EMPLOYEES FIRST-NAME
AUTOMOBILES NUMBER-OF-CYLINDERS
EMPLOYEES MIDDLE-I
AUTOMOBILES HORSEPOWER
EMPLOYEES NAME
AUTOMOBILES PISTON-DISPLACEMENT
EMPLOYEES MIDDLE-NAME
AUTOMOBILES WEIGHT
EMPLOYEES MAR-STAT
AUTOMOBILES COLOR
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
Help Exit GenC – - + ++ |
Der Bildschirm enthält eine Liste aller INCDIR-Statements, die in
den Quellcode der aktuellen Masken-Definition generiert worden sind. Die Liste
enthält außerdem die Namen aller DDM-Dateien und DDM-Felder, aus denen Sie ein
Maskenfeld kopiert haben.
Falls erforderlich, können Sie den DDR-Namen für ein
INCDIR-Statement ändern, indem Sie den Namen oder die Namen in der
Spalte DDM Name ersetzen.
Oder:
Drücken Sie PF5, um das Fenster Generic Change
aufzurufen. Geben Sie im Feld New DDM Name den Namen des
neuen DDM ein, der von allen INCDIR-Statements benutzt werden soll,
die diesen DDM referenzieren.
Der DDM-Name bzw. die DDM-Namen in dem (den) entsprechenden
INCDIR-Statement(s) werden aktualisiert, wenn Sie die
Masken-Definition speichern (Funktion oder
).
Die folgende Liste enthält eine Aufstellung der Objekttypen und der entsprechenden Typen-Codes, die zum Auswählen von Datendefinitionen verwendet werden können:
| Objekttyp | Typen-Code | Bemerkung |
|---|---|---|
| Parameter Data Area | A |
|
| Predict Conceptual Files | C |
Der Objekttyp "Predict Conceptual Files" ist nur verfügbar, wenn Predict installiert ist. |
| Global Data Area | G |
|
| Helproutine | H |
|
| Local Data Area | L |
|
| Map | M |
|
| Subprogram | N |
|
| General Object | O
|
Der Objekttyp "General Object" (O)
ermöglicht es Ihnen, Daten aus einem Quellcode zu importieren, ohne den
korrekten Objekttyp anzugeben, wenn Sie zum Beispiel den Objektnamen, aber nicht
den Objekttyp kennen.
Im Feld Ob können Sie in einem
solchen Fall |
| Program | P |
|
| Subroutine | S |
|
| View (DDM) | V |
|
| Function | 7 |
Natural-Systemvariablen können in einer Masken-Definition angegeben werden. Weitere Informationen zu Systemvariablen siehe Systemvariablen im Leitfaden zur Programmierung und die ausführlichen Einzelbeschreibungen in der Systemvariablen-Dokumentation.
Einer Systemvariablen muss ein Ausgabetrennzeichen (Delimiter) vorangestellt werden. Siehe folgendes Beispiel:
(*TIME (*DATE (*APPLIC-ID