In einer SPoD-Umgebung bietet Natural Studio einen Sperrmechanismus an, der ein gleichzeitiges Aktualisieren von Natural-Objekten verhindert. Diese können lokale Natural-Objekte sein oder Objekte, die auf einem Remote-Entwicklungs-Server aufgerufen werden.
Dieses Dokument umfasst die folgenden Themen:
Wenn sie in einem der Editoren oder Tools von Natural Studio editiert werden, werden die folgenden Natural-Objekte gesperrt:
Programm
Subprogramm
Subroutine
Copycode
Helproutine
Text
Dialog
Map
Klasse
Local-Data-Area
Global-Data-Area
Parameter-Data-Area
DDM
Anwendung (nur Remote)
Die Sperren werden ausschließlich von den Editoren oder Tools gesetzt. Wenn die Objekte von einem Editor gesperrt werden, werden die gesperrten Objekte entsperrt, sobald Sie den Editor schließen. Wenn die Objekte von einem Tool gesperrt werden (zum Beispiel, wenn lokale Klassen mit dem Class Builder geändert werden), werden die gesperrten Objekte entsperrt, wenn alle internen Links auf das Objekt freigegeben werden. Wenn Sie Ihre Natural-Session beenden, werden alle vorhandenen Sperren dieser Session freigegeben.
Innerhalb Ihrer Natural-Session können Sie unterschiedliche Sourcen von unterschiedlichen Libraries parallel in mehreren Editor-Sessions editieren. In diesem Fall ist eine Sperre für alle betreffenden Sourcen vorhanden. Sie können dieselbe Source nicht in unterschiedlichen Editor-Sessions editieren, weder wenn Sie in einer einzelnen Natural-Session sind noch wenn Sie in mehreren Natural-Sessions sind. Wenn Sie Tools wie den Class Builder benutzen, kann das Objekt aus allen Views geändert werden; alle Views zeigen den aktuellen Status des Objekts.
Wenn Sie ein Natural-Source-Objekt verschieben, löschen oder umbenennen, wird der Sperr-Status des betreffenden Objekts überprüft:
Wenn das Source-Objekt gesperrt ist, wird die Ausführung des Befehls zurückgewiesen.
Wenn das Source-Objekt nicht gesperrt ist, wird der Befehl ausgeführt.
Sie können ein Source-Objekt nur dann dem Befehl
oder speichern, wenn Sie es in einem Editor geöffnet und somit gesperrt haben.Für das Sperren von Sourcen in der lokalen Umgebung ist das Vorhandensein einer SPoD-Umgebung nicht erforderlich. Das Sperren erfolgt über Windows-Betriebssystemfunktionen.
Remote-Objekte werden nur gesperrt, wenn sie mit einem der lokalen Editoren von Natural Studio editiert werden. Dafür ist die Installation eines Natural Development Server-Plug-Ins auf dem Server erforderlich. Die Sperren werden vom Entwicklungs-Server verwaltet und als benutzerspezifische Daten in der Natural Development Server-Datei gespeichert.
Natural Studio gibt die Sperre auf ein Objekt frei, sobald der Editor geschlossen wird. In der lokalen Umgebung verwaltet das Betriebssystem die Freigabe der Sperren. In der Remote-Umgebung erfolgt dies über den Natural Development Server.
Wenn Natural Studio die Verbindung zum Server verliert (normalerweise aufgrund eines Hardware-Fehlers) und deshalb nicht dazu in der Lage ist, eine Entsperr-Anforderung an den Server zu senden, bleiben die Objekte auf dem Server gesperrt, obwohl die Editor-Sessions geschlossen werden. Die Objekte bleiben gesperrt, bis Sie manuell entsperrt werden (siehe unten).
Sie können die Namen der gesperrten Natural-Objekte oder Dokumentationsobjekte anzeigen. Wenn erforderlich, können Sie diese Objekte entsperren.
Anmerkung:
Der Befehl entfernt nur den
Sperr-Eintrag in der Natural Development Server-Datei. Im Falle eines
Windows-Entwicklungs-Servers, bleibt die Sperre im Betriebssystem so lange
bestehen bis das Editorfenster geschlossen wird.
Gesperrtes Objekt entsperren
Wählen Sie im Library-Workspace eine Remote-Umgebung aus.
Anmerkung:
In der lokalen Umgebung ist das Entsperren von
Dokumentationsobjekten auch möglich, vorausgesetzt dass Predict Version 4.4
oder höher auf Windows installiert ist.
Optional. Markieren Sie die Library, die das gesperrte Objekt enthält.
Der Library-Name erscheint dann im Dialogfeld, das zum Entsperren benutzt wird.
Wählen Sie aus dem Menü
den Befehl ( Objekte entsperren).Oder:
Wenn die Tools-Symbolleiste angezeigt wird, wählen Sie die folgende
Schaltfläche in der Symbolleiste.
Es erscheint ein Dialogfeld. Der Name der Library, die gerade im Library-Workspace markiert ist, wird automatisch angegeben.
Anmerkung:
In Abhängigkeit von den Einstellungen in der Remote-Umgebung
können zusätzliche Optionen im Dialogfeld angezeigt werden. Siehe auch
Locking of Source Objects in der englischen
Editors-Dokumentation von Natural for Mainframes.
Detaillierte Informationen zu den Optionen in diesem Dialogfeld
finden Sie bei der Beschreibung des Systemkommandos
UNLOCK
.
Es ist möglich, die Befehlsschaltfläche
zu wählen, ohne Informationen in diesem Dialogfeld einzugeben.Wenn gesperrte Objekte vorhanden sind, erscheinen sie im Register Unlock Objects (Objekte entsperren) des Results-Fensters (Ergebnisfensters). Siehe auch Results-Fenster in der Dokumentation Natural Studio benutzen.
Markieren Sie im Register Unlock Objects das Objekt, das Sie entsperren möchten.
Rufen Sie das Kontextmenü auf, und wählen Sie den Befehl
.Das Objekt wird noch noch im Register Unlock Objects angezeigt. In der Spalte Message (Meldung) steht allerdings, dass das Objekt entsperrt wurde.
Anmerkung:
Wenn Sie das Register Unlock Objects vom
Results-Fenster entfernen möchten, markieren Sie ein beliebiges Objekt in
diesem Register, rufen Sie das Kontextmenü auf, und wählen Sie den Befehl
(Register löschen).
Das Sperren von Source-Objekten auf einem Entwicklungs-Server wird nur in einer SPoD-Umgebung unterstützt. Die Source-Objekte werden nur gesperrt, wenn sie in Natural Studio editiert werden.
Um ein korrektes Sperren der Objekte zu gewährleisten, empfiehlt es sich
sehr, Änderungen an derselben FUSER
-Systemdatei nur in einer a
SPoD-Umgebung vorzunehmen. Vermeiden Sie die Benutzung des Systemkommandos
READ
in einer SPoD-Umgebung; dadurch wird das Objekt nicht gesperrt. Die
gleichzeitige Benutzung der FUSER
-Systemdatei durch eine weitere,
für sich allein funktionierende (stand-alone) Natural-Session kann zu
Inkonsistenzen führen.
Wenn Sie mit Natural Studio arbeiten, müssen Sie darauf achten, dass Sie
alle Kommandos oder Utilities innerhalb von Natural Studio starten. Es ist
nicht zulässig, Systemkommandos im Terminal-Emulationsfenster abzusetzen (zum
Beispiel bei einer MORE
-Eingabeaufforderung oder in einer
Kommandozeile). In einem solchen Fall wird das Sperren von Objekten nicht
unterstützt. Insbesondere das direkte Editieren von Source-Objekten mit den
Editoren des Servers kann Inkonsistenzen herbeiführen.
Auf dem Entwicklungs-Server gelten bestimmte Anforderungen für das Sperren von Source-Objekten. Detaillierte Informationen zu diesen Anforderungen finden Sie in der Natural Development Server-Dokumentation.