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.