Natural provides locking mechanisms that prevent concurrent updating of Natural source objects. These mechanisms allow the locking of source objects that are edited in a local mainframe environment and/or in a SPoD (Natural Single Point of Development) environment connected to a mainframe server.
You can activate or deactivate different object locking mechanisms by
using the profile parameter
SLOCK (see also the
Locking in Local and SPoD Environments
SLOCK=PRE activates locking of source objects
that are edited either locally or in a SPoD environment, or using Natural ISPF,
or in mixed environments.
SLOCK=PRE is the recommended setting when
working in mixed environments.
Locking in SPoD Environments
The default setting
SLOCK=SPOD activates object
locking only in a SPoD environment. A source object is then only locked when it
is edited using Natural Studio. For further information, see Object
Locking in the section Remote Development using
SPoD in the Natural for Windows
In a SPoD environment,
compatibility with previous Natural Versions that supported locking under
Checking for Latest Modification
SLOCK=POST, the source object which
is being edited can be read into the source work area and modified by multiple
users. However, only the user who saves a modification first can update the
source object. This is done by comparing the time stamp of the source object
stored in the database with the time stamp of the source object when it is read
into the source work area. All other users receive appropriate error messages
when trying to save the source. This is not compatible with the SPoD locking
concept of previous Natural versions.
SLOCK=OFF deactivates all locking
The principles of object locking with profile parameter
SLOCK=PRE set in a local environment are described in
the following sections.
The sources of the following types of Natural object are locked while they are being edited with the appropriate Natural editor:
Local data area
Global data area
Parameter data area
DDM (data definition module)
When you invoke a Natural editor, the source contained in the source work area will be locked. If the source object you want to edit has already been locked by another user (as indicated by an appropriate message), the source can be displayed in the editor but without an object name at the top of the screen. If you modify the source and want to keep the modifications, you have to save the source as a new source object with a new name.
Reading in a source into the source work area by using the
READ command does not lock the source
object. A source object is only locked when you invoke the Natural
You cannot save (
STOW commands) a source that is being locked by
A locked source object contained in the source work area is unlocked when you do any of the following:
clear the source work area,
read in the source of another source object into the source work area,
log on to another library,
terminate the Natural session,
leave the Natural editor while the Leave Editor with Unlock option is set in the editor profile (see also General Defaults in Editor Profile in the section General Information). This option determines whether the source contained in the current source work area is unlocked when leaving the editor. This also applies to maps and DDMs.
You can use the
command (see the System Commands documentation) to view
locked source objects or unlock them if required.
Object locking is also considered when using the system command
Object Handler or the utility SYSMAIN.
When you move, delete, rename or replace a source object, the locking state of the object is checked:
When the source object is locked, command execution is rejected.
When the source object is not locked, the command is executed.
The utilities SYSRPC, SYSPARM and SYSERR do not support object locking.