This Dokument covers the following topics:
Die folgende Tabelle zeigt, welcher Editor-Typ für einen bestimmten Objekttyp verwendet wird:
Symbol | Objekttyp | Erweiterung | NaturalONE-Editor |
---|---|---|---|
Programm | NSP | Source Editor | |
Class | NS4 | ||
Subprogramm | NSN | ||
Subroutine | NSS | ||
Function | NS7 | ||
Copycode | NSC | ||
Helproutine | NSH | ||
Text | NST | ||
Dialog | NS3 | ||
Adapter | NS8 | ||
Globaler Datenbereich (GDA) | NSG | ||
Lokaler Datenbereich (LDA) | NSL | ||
Parameter-Datenbereich (PDA) | NSA | ||
Map (Maske) | NSM | Map Editor | |
Datendefinitionsmodul (DDM) | NSD | DDM Editor |
Die oben gezeigten Symbole werden für die Quellcodes in der Project Explorer-Ansicht, in der Natural Navigator-Ansicht und in der Dependencies-Ansicht verwendet.
Sie werden auch in der Natural Server-Ansicht verwendet. Auf einem Natural Server können Natural-Objekte jedoch aus dem Quellcode, dem generierten Objekt (z. B. einem generierten Programm) oder aus beidem bestehen. Der Unterschied zeigt sich im Symbol. Daher können die oben genannten Symbole in der Natural-Server-Ansicht wie folgt dargestellt werden (Beispiel für ein Programm):
Symbol | Beschreibung |
---|---|
Symbol ohne grüne Kugel und nicht grau: Nur das Quellcodeobjekt ist verfügbar. | |
Symbol mit grüner Kugel und nicht grau: Quellcodeobjekt und generiertes Objekt sind verfügbar. | |
Symbol mit grüner Kugel und grau: Nur ein generiertes Objekt ist verfügbar und kein Quellcodeobjekt. |
Ein NaturalONE-Editor wird aufgerufen, wenn Sie ein bestehendes Natural-Objekt öffnen oder ein neues Natural-Objekt anlegen.
Sie können ein bestehendes Objekt entweder aus einem Natural-Projekt im Eclipse-Arbeitsbereich (Project Explorer-Ansicht oder Natural Navigator-Ansicht) oder direkt auf dem Natural-Server (Natural Server-Ansicht) öffnen. Weitere Informationen finden Sie in den folgenden Abschnitten:
Editing Objects in Working with Natural Projects in Local Mode.
Editing Objects in Working with Natural Objects in Natural Server Mode.
Sie können ein neues Objekt in einem Natural-Projekt im Eclipse-Arbeitsbereich anlegen (Project Explorer-Ansicht oder Natural Navigator-Ansicht). Weitere Informationen hierzu finden Sie im folgenden Abschnitt:
Creating Natural Objects (Anlegen von Natural-Objekten) in Working with Natural Projects in Local Mode in der NaturalONE-Dokumentation.
NaturalONE verwendet den Natural Source Editor für die Bearbeitung
von Datenbereichen. Der Assistent zum Anlegen neuer Objekte erzeugt ein Skelett
für das DEFINE DATA
-Statement. Innerhalb dieses Skeletts können
Sie die Variablendefinition schreiben. Die Bearbeitung des Datenbereichs wird
durch den Natural-Parser wirkungsvoll unterstützt.
Datenbereiche, die von einem Natural-Server heruntergeladen werden,
werden automatisch normalisiert. Das bedeutet, dass das interne
Datenbereichsformat in ein DEFINE DATA
-Statement umgewandelt wird.
Dies hat den Vorteil, dass der Datenbereich schnell definiert werden kann und
dass eine Versionierung des Quellcodeobjekts des Datenbereichs möglich ist.
Wenn Sie das Kommando Build Natural Project oder
Upload verwenden, wird die Normalisierung umgekehrt:
Das interne Datenformat des Natural-Servers wird dann aus dem DEFINE
DATA
-Statement generiert.
NaturalONE unterstützt keine Dialogs und Classes (siehe auch Are all Natural object types supported?). Es ist jedoch möglich, den Quellcode eines solchen Objekts mit dem Source Editor anzusehen (und sogar zu bearbeiten, obwohl dies nicht empfohlen wird). Mit NaturalONE ist es nicht möglich, diese Objekte von Grund auf neu zu erstellen. Das Gleiche gilt für Adapter, die von Natural for Ajax generiert werden.
Wenn in einem Projekt ein Syntaxfehler festgestellt wird, nachdem ein Objekt gespeichert wurde, oder wenn in einem Projekt während eines Server-Updates ein Compiler-Problem festgestellt wird (d.h. wenn eine Quellcodeobjekt nicht auf dem Server katalogisiert werden konnte), wird dies in der Project Explorer-Ansicht oder in der Natural Navigator-Ansicht angezeigt.
Anmerkung:
Das Syntax-Parsing von abhängigen Objekten kann aktiviert und
deaktiviert werden. Weitere Informationen finden Sie unter
Parsing
Dependent Objects.
Im Falle eines Problems enthält das Symbol des betreffenden Projekts eine entsprechende Decoration. Die Unterknoten, die das Problem enthalten, enthalten ebenfalls die Decoration in ihren Symbolen.
Anmerkung:
Die Label-Decorations für die Server-Probleme werden über die
Voreinstellungen unter General > Appearance > Label
Decorations gesteuert. Wenn Sie diese Label Decorations nicht
wünschen, gehen Sie einfach zu der oben erwähnten Einstellungsseite und
deaktivieren Sie Natural Compiler Problems.
Die Problems-Ansicht zeigt die entsprechende(n) Fehlermeldung(en) an. Wenn Sie auf einen Fehler in der Problems-Ansicht doppelklicken (oder wenn Sie den Fehler markieren und dann im Kontextmenü wählen), wird die entsprechende Zeile im Editor markiert.
In der Problems-Ansicht werden zwei Arten von Fehlern angezeigt.
Fehler, die mit NAT
beginnen, sind Natural-Systemfehlermeldungen,
die von Natural auf dem Server ausgegeben werden. Fehler, die mit
E_
beginnen, werden vom lokalen NaturalONE-Parser ausgegeben, wenn
ein Fehler im Editor gefunden wird.
Wenn Sie einen Fehler in der Problems-Ansicht auswählen, wird die Fehlermeldung auch unten links im Eclipse-Fenster angezeigt.
In den Natural-Voreinstellungen können Sie festlegen, ob die Informationen in der Problems-Ansicht angezeigt werden sollen. Siehe Source Editor in Setting the Preferences in der NaturalONE-Dokumentation.
Wenn das Syntax-Parsing abhängiger Objekte in den Natural-Voreinstellungen aktiviert ist (siehe Natural > Builder in den Voreinstellungen), werden alle abhängigen Objekte, die Syntaxfehler enthalten, mit einer Fehlermarkierung in der Project Explorer-Ansicht oder in der Natural Navigator-Ansicht angezeigt. Außerdem wird in der Problems-Ansicht eine entsprechende Fehlermeldung angezeigt.
Ein abhängiges Objekt ist z.B. ein Programm, das die Felder eines Datenbereichs verwendet. Wenn der Datenbereich geändert wird, muss diese Änderung auch im abhängigen Programm berücksichtigt werden.
In den Natural-Voreinstellungen können Sie auch festlegen, dass das Syntax-Parsing nach dem ersten Fehler gestoppt werden soll (siehe Natural > Builder in Setting the Preferences in der NaturalONE-Dokumentation).
Abhängig von Ihren Einstellungen wird die Syntaxanalyse entweder automatisch durchgeführt oder kann manuell gestartet werden. Dies wird im Folgenden erläutert:
Wenn das automatische Parsen aktiviert ist, werden alle abhängigen Objekte automatisch geparst, nachdem ein Natural-Quellcode gespeichert wurde.
Das automatische Parsen kann mit dem Kommando Parse Syntax Automatically wählen, wird die Einstellung in den Voreinstellungen entsprechend angepasst und umgekehrt.
oder durch Setzen der entsprechenden Option in den Natural-Voreinstellungen aktiviert und deaktiviert werden (siehe Natural > Builder in Setting the Preferences in der NaturalONE-Dokumentation). Wenn Sie das KommandoWenn das automatische Parsen aktiviert ist, wird neben dem Kommando Parse Syntax Automatically ein Häkchen angezeigt.
Um das automatische Parsen abhängiger Objekte zu aktivieren oder zu deaktivieren:
Wählen Sie im Menü
das Kommando .Wenn das automatische Parsing deaktiviert ist, ist das Kommando
aktiviert und kann verwendet werden, um den Parser manuell aufzurufen. Alle abhängigen Objekte, die geparst werden müssen, seit Sie das Syntax-Parsing aktiviert haben, werden dann vom Parser berücksichtigt.Wenn Sie Ihre Quellcodes korrigieren und speichern, werden die Fehlermarkierungen in der Project Explorer-Ansicht oder in der Natural Navigator-Ansicht und die Einträge in der Problems-Ansicht nicht automatisch entfernt. Um sie zu entfernen, müssen Sie das Kommando Parse All erneut aufrufen (oder Sie müssen das automatische Parsen einschalten).
Um abhängige Objekte manuell zu parsen:
Wählen Sie im Menü
das Kommando .Oder:
Drücken Sie CTRL+ALT+P.
Wenn ein Quellcode von einem Natural-Server in den Eclipse-Arbeitsbereich heruntergeladen wird, wird der Quellcode immer von der Server-Kodierung in die Eclipse-Textdatei-Kodierung UTF-8 konvertiert.
Die Server-Kodierung des Quellcodes wird im Quellcode-Header gespeichert (weitere Informationen zum Quellcode-Header finden Sie weiter unten).
Vorsicht:
Wenn Sie einen Quellcode im Eclipse-Arbeitsbereich bearbeiten
und dieser Quellcode die Kodierung UTF-8 hat, können Sie zwar beliebige
Unicode-Zeichen eingeben, jedoch können nur Zeichen, die in der
Server-Kodierung enthalten sind, auf den Server hochgeladen werden.
In der Project Explorer-Ansicht oder in der Natural Navigator-Ansicht können Sie die Serverkodierung des Quellcodes im Dialogfeld Properties des Quellcodes ändern. Die unterstützten ICU-Kodierungen hängen vom Natural-Server ab. Siehe Changing the Object Properties in der NaturalONE-Dokumentation.
Wenn ein Quellcode zurück auf einen Natural-Server übertragen wird, wird er in die Serverkodierung konvertiert, die im Dialogfeld Properties des Quellcodes definiert ist. Wenn der Quellcode "nicht unterstützte" Zeichen enthält, kann er nicht auf dem Natural-Server gespeichert werden und der Server gibt einen Fehler zurück.
Anmerkung:
Der Profilparameter SRETAIN
(auf dem
Natural-Server eingestellt) wird beim Hochladen eines Quellcodes auf einen
Natural-Server nicht ausgewertet. Sie müssen eine geeignete Projektkodierung in
den Natural-Projekteigenschaften oder eine geeignete Serverkodierung in den
Objekteigenschaften der einzelnen Natural-Objekte festlegen. Wenn
Sie z. B. das Textfeld für die Projektkodierung in den Projekteigenschaften
leer lassen, wird nicht allen neu angelegten Natural-Objekten eine Codepage
zugewiesen. Dies gilt auch für ein temporäres Projekt, das angelegt wird, wenn
Sie ein Quellcodeobjekt in der Natural Server-Ansicht
bearbeiten.
In der Natural Server-Ansicht (nur auf UNIX-, Windows- und OpenVMS-Servern) können Sie die Kodierung eines Natural-Objekts auch im Dialogfeld Properties (auf der Seite Object Details) ändern. Das Ändern der Kodierung eines Objekts bedeutet, dass die auf dem Server gespeicherten Kodierungsinformationen geändert werden; dies bedeutet nicht, dass der Inhalt des Objekts in irgendeiner Weise konvertiert wird.
Weitere Informationen finden Sie unter Unicode- und Codepage-Unterstützung bzw. Unicode and Code Page Support in der Natural-Dokumentation für die entsprechende Plattform.
Fehlermeldungen, die in Natural-Projekten im Eclipse-Arbeitsbereich angelegt oder in diese heruntergeladen werden, werden in UTF-8-Dateikodierung gespeichert. Die Fehlermeldungen enthalten jedoch nicht die ursprüngliche Serverkodierung.
Beim Herunterladen von einem Natural-Server wird die Fehlermeldung von der Server-Kodierung in UTF-8 konvertiert. Wird eine Fehlermeldung auf einen Natural-Server hochgeladen, wird sie von UTF-8 in die Server-Kodierung konvertiert. Alle Zeichen, die nicht in der Serverkodierung enthalten sind, gehen dabei verloren.
Daher sollte die Laufzeitumgebung Ihres Natural-Projekts mit der richtigen Kodierung gestartet werden.
Einige Sprachen, z. B. Arabisch und Hebräisch, werden von rechts nach links (RTL = Right-To-Left) geschrieben, während die meisten Sprachen, z. B. Englisch und Deutsch, von links nach rechts (LTR) geschrieben werden. Text, der sowohl Zeichen von links nach rechts als auch von rechts nach links enthält, wird als bidirektionaler Text bezeichnet.
Zusätzlich zur Unterstützung bidirektionaler Sprachen in der Eclipse-Workbench (weitere Informationen finden Sie in der Eclipse-Online-Hilfe) bietet NaturalONE eine spezielle bidirektionale Unterstützung, die in den folgenden Abschnitten beschrieben wird:
Die Ansicht RTL Visual Order dient zur Unterstützung von Anwendungen, die ursprünglich für Terminals geschrieben wurden, die den inversen (von rechts nach links) Druckmodus, aber keine bidirektionalen Daten unterstützen. Diese Anwendungen erstellen die Anzeigereihenfolge der bidirektionalen Daten im Anwendungscode, d. h. die Anwendungsdaten werden in visueller Reihenfolge gespeichert.
Anmerkung:
Diese Ansicht wird standardmäßig nicht angezeigt, wenn Sie die
NaturalONE-Perspektive öffnen. Wie Sie sie anzeigen können, erfahren Sie unter
Showing a View of the
NaturalONE Perspective
in der
NaturalONE-Dokumentation.
Die RTL Visual Order-Ansicht kann in den folgenden Fällen benutzt werden:
Beim Source Editor.
Bei der Source-Seite des Map Editor, die den Code für eine Verarbeitungsregel anzeigt.
Die im aktiven Editor (entweder im Source Editor oder auf der Source-Seite des Map Editor) markierte Zeile wird vom visuellen in das logische Format umgewandelt und im Bildschirm von rechts nach links (erstes Textfeld in der Ansicht) und von links nach rechts (zweites Textfeld in der Ansicht) angezeigt.
Wenn Sie die aktuell ausgewählte Zeile im aktiven Editor ändern möchten, können Sie dies in der Ansicht RTL Visual Order tun. Jede Änderung wird sofort in den Editor übernommen.
Wenn die Option Visual order in den Natural-Einstellungen ausgewählt ist (siehe Regional Settings > RTL Languages in den Natural-Voreinstellungen in der NaturalONE-Dokumentation), wird angenommen, dass die Anwendungsdaten (d. h. Natural-Quellcodes und Daten aus Datenbanken) in visueller Reihenfolge vorliegen. In diesem Fall konvertieren manche Editoren und Werkzeuge die Daten von der visuellen Reihenfolge in die logische Reihenfolge, bevor sie die Daten anzeigen. Wenn die Daten gespeichert werden, werden sie wieder in die visuelle Reihenfolge umgewandelt.
Die Einstellungen für die bidirektionale Sprachunterstützung werden in den Natural-Voreinstellungen festgelegt. Siehe Map Editor in Setting the Preferences in der NaturalONE-Dokumentation.
Der inverse Druckmodus wird bei Maps und Datenfeldern unterstützt.
Der entsprechende Parameter (PM=I
) kann in der
Properties-Ansicht eingestellt werden. Siehe
Ändern der Eigenschaften der
Map in der Beschreibung des Map Editor.
Wichtig:
In der aktuellen Version von NaturalONE ist die
Unterstützung für Arabic Shaping als Preview-Version enthalten. Diese
Vorabversion wird nicht mehr unterstützt. Wir freuen uns über jedes Feedback
unserer Kunden zu dieser neuen Funktion. Da die Unterstützung für Arabic
Shaping noch in der Entwicklung ist, kann es sein, dass eine spätere Version
von NaturalONE wesentliche Änderungen an dieser Art der Unterstützung
enthält.
In arabischem Text sind normalerweise alle Zeichen einer Zeichenkette miteinander verbunden. Aus diesem Grund haben arabische Zeichen bis zu 4 Darstellungsformen: die isolierte, die finale, die initiale und die mediale Form. Welche Form verwendet wird, hängt von der Position des Zeichens in der Zeichenkette ab. Zum Beispiel hat das arabische Zeichen "MEEM" die folgenden Formen in Unicode:
U+0645 | ARABIC LETTER MEEM | |
U+FEE1 | ARABIC LETTER MEEM ISOLATED FORM | |
U+FEE2 | ARABIC LETTER MEEM FINAL FORM | |
U+FEE3 | ARABIC LETTER MEEM INITIAL FORM | |
U+FEE4 | ARABIC LETTER MEEM MEDIAL FORM |
Außerdem werden einige Zeichen zu einer neuen Form kombiniert, wenn sie nacheinander in einer Zeichenkette erscheinen. Dies wird als "Ligatur" bezeichnet. Zum Beispiel die Zeichen
U+0644 | ARABIC LETTER LAM | |
U+0627 | ARABIC LETTER ALEF |
haben die folgende kombinierte Form:
U+FEFB | ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM |
Unicode-Zeichenfolgen sollten nur die arabischen Zeichen des arabischen Blocks (U+0600 bis U+06FF) oder des arabischen Ergänzungsblocks (U+0750 bis U+077F) enthalten. Es wird nicht empfohlen, die Darstellungsformen in normalem arabischem Text zu verwenden. Es ist Aufgabe der Benutzeroberfläche, die korrekten Formen der Zeichen anzuzeigen. Anwendungen, die ursprünglich auf einfachen Terminals geschrieben wurden, verwenden jedoch häufig arabische Darstellungsformen in den Zeichenketten.
Wenn Daten, die Zeichen aus den arabischen Darstellungsformen enthalten, im Eclipse-Kontext verarbeitet werden müssen, ist es notwendig, die arabischen Zeichen zu entformen ("unshape"), um volle bidirektionale Unterstützung von Eclipse zu erhalten. "Unshape" bedeutet, dass jedes arabische Darstellungsformzeichen in sein Basiszeichen umgewandelt wird. Zum Beispiel wird U+FEE2 (ARABIC LETTER MEEM FINAL FORM) in U+0645 (ARABIC LETTER MEEM) umgewandelt.
Wenn die Daten zurück auf den ursprünglichen Server übertragen werden, müssen die arabischen Zeichenfolgen erneut geformt werden, um eine vollständige bidirektionale Unterstützung auf der Serverplattform zu erhalten. "Shape" bedeutet, dass jedes arabische Basiszeichen in die entsprechende arabische Darstellungsform umgewandelt wird. Wenn zum Beispiel U+0645 (ARABIC LETTER MEEM) als letztes Zeichen einer Zeichenkette verwendet wird, wird es in U+FEE2 (ARABIC LETTER MEEM FINAL FORM) umgewandelt.
NaturalONE unterstützt Arabic Shaping bei der Quellcode-Übertragung. Über die Natural-Voreinstellungen für Arabic Shaping (siehe Regional Settings > RTL Languages unter Changing the Project Properties und unter Setting the Preferences in der NaturalONE-Dokumentation) kann die Umwandlung für Arabic Shaping gesteuert werden. Die "Unshape"-Umformungsoperation wird durchgeführt, wenn die Quellcodes von einem Server heruntergeladen werden, und die "Shape"-Umformungsoperation wird durchgeführt, wenn die Quellcodes auf einen Server hochgeladen werden.
Anmerkungen:
Ein Quellcode-Header wird verwendet, um einige Quellcode-Eigenschaften zu erhalten (z. B. den Programmiermodus oder die Codepage).
Der Quellcode-Header ist Teil eines Natural-Quellcodes. Er wird entfernt, wenn der Quellcode auf den Natural-Server übertragen wird, und wird wieder eingefügt, wenn der Quellcode vom Server in den Eclipse-Arbeitsbereich eingelesen wird. Da der Header zum Quellcode gehört, bleibt er auch im Quellcode enthalten, wenn dieser im Repository Ihres Versionskontrollsystems gespeichert wird.
Bei der Verwendung eines Natur-Editors in Eclipse ist der Quellcode-Header geschützt. In diesem Fall kann er nicht geändert oder gelöscht werden. Die Hintergrundfarbe für die geschützten Zeilen, aus denen der Source Header besteht, kann in den Natural-Einstellungen geändert werden. Siehe Syntax Coloring in Setting the Preferences in der NaturalONE-Dokumentation.
Vorsicht:
Wenn Sie einen Nicht-Natural-Editor verwenden, dürfen Sie den
Quellcode-Header nicht ändern oder löschen. Dies kann zu Kompilierfehlern oder
zu Eigenschaften führen, die nicht mehr korrekt zugewiesen werden
können.
Standardmäßig sind in Eclipse keine Zeilennummern mit einem Quellcode verbunden. Zeilennummern machen es nahezu unmöglich, den Quellcode in einem Versionskontrollsystem zu versionieren: Jede neue oder entfernte Zeile würde zu einer Neunummerierung der nachfolgenden Zeilen führen, und diese Zeilen würden als geändert markiert werden. Daher entfernt NaturalONE die Natural-Zeilennummern aus dem Quellcode.
Es ist jedoch möglich, die Anzeige der Eclipse-Zeilennummern einzuschalten (Preferences > General > Editors > Text Editors > Show line numbers). Dies kann vor allem im Falle eines Fehlers nützlich sein, da der Parser die Fehlerposition anhand der Zeilennummer angibt. Dies kann auch beim Ausführen einer Natural-Anwendung nützlich sein: Im Falle eines Fehlers verwendet die Natural-Laufzeitumgebung die Zeilennummer, um den Benutzer über die Fehlerposition zu informieren.
Eclipse verwendet für die Zeilennummerierung eine Inkrementierung von 1. Wenn Natural-Objekte in den Eclipse-Workspace heruntergeladen werden, werden alle Zeilennummern-Referenzen im Quellcode entsprechend neu nummeriert. Wenn die Objekte auf den Natural-Server hochgeladen werden, werden alle Zeilennummern auf die ursprüngliche Inkrementierung zurückgeändert.
Die folgenden Muster werden als gültige Zeilennummernreferenzen
erkannt (wobei nnnn
eine vierstellige
Zahl ist):
(nnnn)
(nnnn/
(nnnn,
Der Source Editor unterstützt die Zeilennummernreferenzen.
Vorsicht:
Wenn die Natural-Quellcodes mit einem anderen Editor als dem
Source Editor geändert werden, können Zeilennummernreferenzen zerstört
werden.
Standardmäßig werden Zeilennummernreferenzen in Konstanten nicht
umnummeriert, wenn Sie einen Quellcode bearbeiten. Wenn sie während der
Bearbeitung neu nummeriert werden sollen, müssen Sie die Option
Renumber line numbers in constants
in den Projekteigenschaften aktivieren. Siehe Editor
unter Changing the Project Properties
in der NaturalONE-Dokumentation. Wenn
Sie jedoch einen Quellcode mit dem Kommando oder hinzufügen von
einem Server herunterladen, auf dem RNCONST
auf
ON
gesetzt ist, werden die Zeilennummernreferenzen in Konstanten
immer neu nummeriert.
Während des Downloads ist es möglich, die Zeilennummernreferenzen durch Labels zu ersetzen. Dies kann in den Natural-Einstellungen aktiviert werden. Siehe Natural > Options in Setting the Preferences in der NaturalONE-Dokumentation.
Wichtig:
Wenn die oben genannte Option in den Natural-Einstellungen
aktiviert ist, werden alle gültigen Zeilennummern (wie oben beschrieben) durch
Labels ersetzt. Es wird nicht geprüft, ob das Ergebnis einer gültigen
Natural-Syntax entspricht. Es liegt daher bei Ihnen, das Ergebnis der Ersetzung
zu überprüfen.