STATUS PARAMETER [ KSAM/3000 Reference Manual ] MPE/iX 5.0 Documentation
KSAM/3000 Reference Manual
STATUS PARAMETER
The status parameter is a two-character item to which the status of the
input-output operation is returned. It is always the second parameter in
a KSAM procedure call. The status parameter must be defined in the
WORKING-STORAGE SECTION of the COBOL program.
Status consists of two separate characters: the left character is known
as status-key-1, and the right is known as status-key-2.
/---left character----\/---right character----\
|----------------------|------------------------|
| | |
| "status-key-1" | "status-key-2" |<-----status word
|----------------------|------------------------|
The possible combinations of the left and right characters of parameter
status are shown in Table 3-2 The values of status-key-2 (the right
character) shown in the table are the only valid values for status-key-2.
Table 3-2. Valid status Parameter Character Combinations
---------------------------------------------------------------------------------------------
| | |
| If left character of status | Then right character of status |
| (status-key-1) equals: | (status-key-2) may equal: |
| | |
---------------------------------------------------------------------------------------------
| | |
| "0" (successful completion) | "0" (no further information) |
| | |
| | "2" (duplicate key) |
| | |
---------------------------------------------------------------------------------------------
| | |
| "1" (at end) | "0" (no further information) |
| | |
---------------------------------------------------------------------------------------------
| | |
| "2" (invalid key) | "1" (sequence error) |
| | |
| | "2" (duplicate key) |
| | |
| | "3" (no record found) |
| | |
| | "4" (boundary violation) |
| | |
---------------------------------------------------------------------------------------------
| | |
| "3" (request denied) | "0" (lock denied) |
| | |
| | "1" (unlock denied) |
| | |
---------------------------------------------------------------------------------------------
| | |
| "9" (file system error) | "n" where n is the MPE file system error cod|.
| | |
---------------------------------------------------------------------------------------------
Combining status-key-1 with status-key-2, the following values may be
returned to the status parameter as a whole:
If status = Successful completion--
"00"
The current input/output operation was completed
successfully; no duplicate keys were read or written.
= "02" Successful completion; Duplicate key--
For a CKREAD or a CKREADBYKEY call, the current
alternate key has the same value as the equivalent key
in the sequentially following record; duplicate keys are
allowed for the key. For a CKWRITE or CKREWRITE call,
the record just written created a duplicate key value
for at least one alternate key for which duplicates are
allowed.
STATUS
If status = At End condition--
"10"
In a sequential read using CKREAD, no next logical
record was in the file.
= "21" Invalid key; Sequence error--
A call to CKWRITE attempted to write a record with a key
that is not in sequentially ascending order, to a file
opened for sequential access.
A call to CKREWRITE was attempted but the primary key
value was changed by the program since the previous
successful call to CKREAD.
= "22" Invalid key; Duplicate key--
An attempt was made to write or rewrite a record with
CKWRITE or CKREWRITE and the record would create a
duplicate key value for a key where duplicates are
prohibited.
= "23" Invalid key; No record found--
An attempt was made with CKSTART or CKREADBYKEY to
access a record identified by key, but no record is
found with the specified key value at the specified
location.
= "24" Invalid key; Boundary violation--
An attempt was made with a call to CKWRITE to write past
the externally defined boundaries of the file; that is,
to write past the end-of-file.
= "30" Lock denied--
An attempt was made to lock a file already locked by
another process; or file was not opened with dynamic
locking allowed.
= "31" Unlock denied--
An attempt was made to unlock a file with CKUNLOCK, but
the file had not been locked by CKLOCK.
= "9n" File system error--
A call to an input/output procedure was unsuccessful as
a result of a file system error, not one of the error
conditions defined for the other status values. The
value of status-key-2 (n) is a binary number between 0
and 255 that corresponds to an MPE file system error
code (refer to Table A-1 in appendix A). To convert this
binary value to numeric display format, call the CKERROR
routine (described next in this section).
MPE/iX 5.0 Documentation