The following scenarios describe the results of WOB processing
when specific indicators in the WOB are set.
- Assignment suppression control indicator
If set, no directory
entry will be assigned and the write operation will be suppressed
if the entry does not exist. If not set, a directory entry will be
assigned for the named entry and the write will be performed if the
entry does not exist.
When LOCALREGCNTL=NO is specified (or
allowed to default to LOCALREGCNTL=NO) and the write operation is
suppressed due to assignment suppression, the data is not written,
the index of the write-operation block that failed and the offset
in the data block of the data area for the write-operation block being
processed are returned in the ANSAREA. The WRITE_DATALIST request
completes prematurely with a return code IXLRETCODEPARMERROR, reason
code IXLRETCODENOENTRY. All prior write-operation blocks were processed.
When
LOCREGCNTL=YES is specified and the assignment suppression control
indicator is set, the indication of whether a write operation was
suppressed for a WOB can be found in the write suppressed vector returned
in the CAAWRITESUPPRESSEDVECTOR field of the answer area. The CAAWRITESUPPRESSEDVECTOR
should be processed whenever the WRITE_DATALIST request completes
with a return code of IXLRETCODEOK or the return and reason code indicates
that the WRITE_DATALIST request completed prematurely and all the
write operations prior to the premature completion were processed.
For
more information on processing results when a request completes prematurely
and restarting IXLCACHE requests, see Restarting Requests Multiple Times with Index Values
and Restarting a WRITE_DATALIST request.
- Change control indicator is set
The entry will be written
as changed and assigned to the specified cast-out class. Also, with
the exception of the connection specified by CONTOKEN, all connections
with registered interest in the entry have interest deregistered
and a cross-invalidate performed against their local caches. The
ELEMNUM specification in the WOB must be greater than or equal to
1.
When the get cast-out lock indicator is also set, the data
is not written, the cast-out lock is not obtained, and the index of
the failing WOB is returned in the answer area. None of the specified
WOBs were processed. (Processing of the entire WRITE_DATALIST request
was suppressed.)
When a cast-out class that is not valid is
specified in the WOB, the data is not written, the index of the WOB
that failed, the invalidated local cache validity vector, and the
offset in the data block of the data area for the WOB being processed
are returned in the answer area and the WORB returned is set to zero.
All prior WOBs were processed.
When parity bits that are not
valid are specified in the WOB, the data is not written, the index
of the WOB that failed, the invalidated local cache validity vector,
and the offset in the data block of the data area for the WOB being
processed are returned in the answer area and the WORB returned is
set to zero. All prior WOBs were processed.
- Change control indicator is not set
When the cross-invalidate
control indicator is set, with the exception of the connection specified
by CONTOKEN, all connections with registered interest in the entry
will have interest deregistered and a cross-invalidate performed against
their local caches.
If data is already cached, it must be
cached as unchanged. If the entry is already marked as changed or
locked for cast-out, the data is not written, the index of the WOB
that failed, the changed indicator, the castout lock state, the castout
lock value, the local cache vector index, the invalidated local cache
validity vector, and the offset in the data block of the data area
for the WOB being processed are returned in the answer area and the
WORB returned is set to zero. All prior WOBs were processed.
- Get cast-out lock control indicator is set
If the cast-out
lock is already held through a REQUEST=CASTOUT_DATA or REQUEST=CASTOUT_DATALIST
invocation, or if the cast-out lock is already held by another connector,
the data is not written, the index of the WOB that failed, the castout
lock state, the castout lock value, and the offset in the data block
of the data area for the WOB being processed are returned in the answer
area. All prior WOBs were processed.
- Comparative version number
If the comparative version number
and the version comparison request type are specified in the WOB,
version numbers will be compared after the deregistration operation
is performed for the WOB. If version-number comparison is requested
and the name is assigned and the version number comparison is successful,
the data will be written. If the name is assigned and the version
number comparison fails, the data is not written, the version number
from the directory entry, the index of the WOB that failed, the invalidated
local cache validity vecotr, and the offset in the data block of
the data area for the WOB being processed are returned in the answer
area and the WORB returned is set to zero. All prior WOBs were processed.
- Incorrect data area size
When a data area size that is not
valid is specified in the WOB with WOB_ELEMNUM, the data is not
written, the index of the WOB that failed, the invalidated local cache
validity vector, and the offset in the data block of the data area
for the WOB being processed are returned in the answer area and the
WORB returned is set to zero. All prior WOBs were processed.
- Storage class
If a storage class that is not valid is specified
in the WOB, the data is not written, the index of the WOB that failed,
the invalidated local cache validity vector, and the offset in the
data block of the data area for the WOB being processed are returned
in the answer area and the WORB returned is set to zero. All prior
WOBs were processed.
When a WRITE_DATALIST request fails due
to the inability to obtain structure resources from the storage class
specified in the WOB, the data is not written, the index of the WOB
that failed, the invalidated local cache validity vector, the offset
in the data block of the data area for the WOB being processed, and
the target storage class number from which resources could not be
reclaimed are returned in the answer area and the WORB returned is
set to zero. All prior WOBs were processed.
- Incorrect local cache vector index
When a local cache vector
index that is not valid is specified in the WOB, the data is not written
and the index of the WOB containing the incorrect local cache vector
index is returned in the answer area. None of the specified WOBs
was processed. (Processing of the entire WRITE_DATALIST request was
suppressed.)
- Incorrect ELEMNUM
When the ELEMNUM specified in the WOB does
not match the size of the data block corresponding to the WOB being
processed, the data is not written, the index of the WOB that failed,
the invalidated local cache validity vector, and the offset in the
data block of the data area for the WOB being processed are returned
in the answer area and the WORB returned is set to zero. All prior
WOBs were processed.
- Entry does not exist
If the entry does not exist and the assignment
suppression control indicator is set, the data is not written, the
index of the WOB that failed, the invalidated local cache validity
vector, and the offset in the data block of the data area for the
WOB being processed are returned in the answer area and the WORB returned
is set to zero. All prior WOBs were processed.