If an IDMS CV has SCRATCH IN STORAGE NO, (i.e. it is assigned to a physical *.DDLDCSCR area/file in the DMCL), care must be taken with the buffer to which it is allocated.
Release : All supported releases.
Component : IDMS/DB
The buffer for the scratch area/file is allocated in an IDMS storage pool, potentially leading to short-on-storage problems or even an abend at startup.
If the SysGen SYSTEM Statement has SCRATCH IN STORAGE NO, then scratch records are maintained in the physical SYSTEM.DDLDCSCR area defined in the DMCL.
Even if the buffer to which this file is assigned is also used by normal database files, a special internal copy of the buffer is allocated according to the page size times the smaller of the number of pages defined to the DDLDCSCR area and the MAX pages number defined for the buffer.
Furthermore, this internal buffer is allocated in the IDMS XA storage pool (pool 255) even if it is defined to be in OPSYS storage.
If the scratch file is defined to a large buffer, this can result in unexpected short-on-storage conditions and in extreme cases messages like this and a 3964 abend at startup:
15.17.09 STC06908 IDMS DC013003 V75 T0 OPENING SYSTEM RUN UNITS
15.17.09 STC06908 IDMS DC015007 V75 POOL 255: SOS CONDITION 1, SZ=6157824, T=*SYSTEM*, P=*SYSTEM*
15.17.09 STC06908 IDMS DC015007 V75 POOL 000: SOS CONDITION 1, SZ=6157824, T=*SYSTEM*, P=*SYSTEM*
15.17.09 STC06908 IDMS DC015001 V75 T0 1EE58F3A TASK:*MASTER* PROG:*SYSTEM*; NUMBER OF BYTES REQUESTED WAS NEGATIVE OR LARGER T
15.17.09 STC06908 +IDI0123S Processing of abend U3964 terminated due to unsupported execution environment: TCB Not protect KEY
15.17.10 STC06908 IEA995I SYMPTOM DUMP OUTPUT 718
718 USER COMPLETION CODE=3964
For this reason, it is advised to keep the scratch file allocated to its own buffer and keep the buffer relatively small.
If the scratch requirements of a CV are such that a larger buffer is necessary, then SCRATCH IN STORAGE YES should be used.
Very few IDMS clients are still using SCRATCH IN STORAGE NO.
With the application of PTF LU06248, messages DC045021 and DC045022 are written to the CV joblog. If SCRATCH and its buffer are as described above, the 3964 abend will still occur, but these two new messages on the log will indicate why.