Re:Re: Developer Question

  • 1.  Re:Re: Developer Question

    Posted 01-06-2010 03:28 AM
    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=
    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 onl=
    . 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.