Natural bietet Sperrmechanismen, durch die ein konkurrierendes Ändern von Natural-Source-Objekten verhindert wird. Durch diese Mechanismen können Source-Objekte gesperrt werden, die in einer lokalen Großrechnerumgebung und/oder in einer SPoD-Umgebung (SPoD = Natural Single Point of Development) bearbeitet werden, welche mit einem Großrechner-Server verbunden ist.
Die verschiedenen Sperrmechanismen können Sie aktivieren und deaktivieren, indem Sie den
Profilparameter SLOCK
entsprechend setzen. Weitere Informationen zu diesem Profilparameter siehe
Parameter-Referenz-Dokumentation.
Source-Objekte in lokalen Umgebungen und in SPoD-Umgebungen sperrenSLOCK=PRE aktiviert die Sperrung von Source-Objekten, die
entweder lokal oder in einer SPoD-Umgebung oder mit Natural ISPF oder in gemischten
Umgebungen editiert werden.
SLOCK=PRE ist die empfohlene Einstellung für das Arbeiten in
gemischten Umgebungen.
Source-Objekte in SPoD-Umgebungen sperren
Die Standardeinstellung SLOCK=SPOD aktiviert die Sperrung von
Source-Objekten nur in einer SPoD-Umgebung. Ein Source-Objekt wird dann nur gesperrt,
wenn es mit Natural Studio bearbeitet wird. Weitere Informationen siehe Remote
Development Using SPoD in der Natural for
Windows-Dokumentation.
In einer SPoD-Umgebungen sorgt die Einstellung SLOCK=SPOD für
Kompatibilität mit früheren Natural-Versionen, die die Sperrung unter SPoD
unterstützten.
Auf letzte Änderungen prüfen
Wenn SLOCK=POST gesetzt wird, kann das Source-Objekt, das momentan
bearbeitet wird, in den Editor-Arbeitsbereich gelesen und von mehreren Benutzern
geändert werden. Es kann dann aber nur der Benutzer, der eine Änderung zuerst speichert,
das Source-Objekt aktualisieren. Dies geschieht durch den Vergleich der Zeitmarke des in
der Datenbank gespeicherten Source-Objekts mit der Zeitmarke des Source-Objekts beim
Einlesen in den Editor-Arbeitsbereich. Alle anderen Benutzer erhalten eine entsprechende
Fehlermeldung, wenn sie die Source zu speichern versuchen.
Anmerkung
Dieses Konzept ist nicht kompatibel mit dem SPoD-Sperrkonzept früherer
Natural-Versionen.
Sperrmechanismen deaktivierenSLOCK=OFF deaktiviert alle Sperrmechanismen.
Die folgenden Abschnitte beschreiben das Prinzip der Source-Objekt-Sperrung, wenn der
Profilparameter SLOCK=PRE in einer lokalen Umgebung gesetzt ist.
Bei folgenden Natural-Objekttypen werden die Source-Objekte gesperrt, während sie mit dem entsprechenden Natural-Editor bearbeitet werden:
Programm
Subprogramm
Subroutine
Copycode
Helproutine
Text
Map
Local Data Area
Global Data Area
Parameter Data Area
DDM (Datendefinitionsmodul)
Function
Wenn Sie einen Natural-Editor aufrufen, wird die im Source-Arbeitsbereich enthaltene Source gesperrt. Falls das Source-Objekt, das Sie bearbeiten möchten, schon von einem anderen Benutzer gesperrt worden ist (worauf Sie durch eine entsprechende Meldung hingewiesen werden, könne Sie die Source zwar im Editor anzeigen, jedoch wird oben im Bildschirm kein Objektname angezeigt. Wenn Sie die Source ändern und die Änderung aufbewahren möchten, müssen Sie die Source als neues Source-Objekt unter einem neuen Namen speichern.
Anmerkung
Wenn Sie eine Source mit dem Systemkommando READ in den
Arbeitsbereich einlesen, erfolgt keine Sperrung des Source-Objekts. Die Sperrung
einer Source erfolgt nur dann, wenn Sie den Natural-Editor aufrufen.
Eine Source, die von einem anderen Benutzer gesperrt worden ist, können Sie nicht mittels
SAVE- und STOW-Kommandos
speichern.
Eine im Source-Arbeitsbereich enthaltene gesperrte Source wird entsperrt, wenn eine der folgenden Maßnahmen ausführen:
Löschen des Source-Arbeitsbereichs
Einlesen der Source eines anderen Source-Objekts in den Source-Arbeitsbereich
Anmelden bei einer anderen Library
Beenden der Natural Session
Verlassen des Natural-Editors, während die Option Leave Editor with Unlock im Editor-Profil gesetzt ist (siehe auch Allgemeine Standardwerte in Editorprofil im Abschnitt Allgemeine Informationen). Mit dieser Option wird festgelegt, ob die im aktuellen Source-Arbeitsbereich enthaltene Source beim Verlassen des Editors entsperrt wird. Dies gilt bei Maps und DDMs.
Um sich die gesperrten Source-Objekte anzeigen zu lassen oder um sie, falls erforderlich,
zu entsperren, können Sie das Systemkommando UNLOCK benutzen (siehe
Systemkommandos-Dokumentation.
Die Sperrung von Objekten wird auch berücksichtigt, wenn Sie das Systemkommando
DELETE oder RENAME, den Object
Handler oder die Utility SYSMAIN benutzen.
Wenn Sie ein Source-Objekt verschieben, löschen, umbenennen und ersetzen, wird der Sperrzustand des Objekts geprüft:
Wenn das Source-Objekt gesperrt ist, wird die Kommandoausführung verweigert.
Ist das Source-Objekt nicht gesperrt, wird das Kommando ausgeführt.
Bei den Utilities SYSRPC, SYSPARM und SYSERR wird die Sperrung von Objekten nicht unterstützt.