Re: Developer Question

Discussion created by ca.portal.admin on Jan 6, 2010
Not true.
In the batch environment, if the next physical page has not been allocated
o your address space and you attempt to move bytes from it, you will get an
ddressability error, which is an S0C4. That is why it is recommended that
our sort key variable is at least 256 bytes, even if the key itself is only
. By defining 256, you avoid the S0C4 when the key falls at the end of the
hysical page since the additional storage will force the next page to be
llocated to your address space.
You are correct with respect to CV mode, however, fetch protection only
ecomes an issue if you are running CV in, I believe it is called, secure
ode. In this mode, CV will set all pages in the storage pool to have fetch
rotection turned on. Then, as a task is dispatched, the task's pages have
he fetch protection attribute turned off as the storage key is changed to
ser mode. In normal storage protect mode, CV only changes the key of the
age, not the fetch attribute.
In any case, the warning in the COBOL manual is for exactly what I stated
reviously, and as the warning implies, is more probable when the sort key
ield is defined in a file's record buffer than when it occurs in a
rogram's working storage area. It can also be an issue when the sort key
ield is in the linkage section as well. In that case, a wise precaution is
o move the sort key from the linkage section variable into a 256 byte
orking-storage section prior to using it in a DML verb.