|
|
A call to CKOPENSHR initiates KSAM file processing with dynamic
locking and shared access allowed.
CALL "CKOPENSHR" USING filetable, status
In order to process a KSAM file with shared access and dynamic locking, the
file must be opened with a call to CKOPENSHR. CKOPENSHR is
exactly like CKOPEN in that it initiates processing, specifies the
type of processing, and specifies the access mode. The file must have
been created previously.
To open a file for shared access means to make it available
for processing by more than one user. Shared access allows all users
to read or position the file, but only one user at a time can modify
the file by writing new records, or rewriting or deleting existing
records. To ensure that more than one user does not attempt to modify
the file at the same time, you must call CKLOCK to dynamically lock
the file before calling the procedures CKWRITE, CKREWRITE,
or CKDELETE. After modifying the file, you should call
CKUNLOCK so that it can be accessed by other users.
- filetable
An 8 halfword record containing the name of the file, its input/output
type, and access mode. When the open is successful, the first halfword of
this table is set to the file number that identifies the
opened file.
- status
One halfword (two 8-bit characters) set to a pair of values upon
completion of the call to CKOPENSHR to indicate whether or not
the file was successfully opened and if not why not. The left character
is set to 0 if the open is successful, to 9 if not. The right character
is to 0 if open is successful, to the file system error code if
not.
A call to CKOPENSHR operates like the call to CKOPEN, except
that CKOPENSHR allows shared access and dynamic locking. Upon
successful execution of CKOPENSHR, the file named in
filetable is available for the type of processing specified in
filetable. Before the file is opened successfully, no operation
can be performed that references the file either explicitly or implicitly.
A file may be opened by CKOPENSHR for any of the access modes
(sequential, random, or dynamic) and for any input/output type (input only,
output only, or input/output) allowed with CKOPEN.
Refer to the description of using CKOPEN for the specific effects of
opening a KSAM file with the various input/output types and access modes.
|