PTFs UW06768 and UW06769 for APAR OW04199 caused the target PDSE
secondary allocation quantity (DS1SCAL3) in the Format 1 DSCB to increase
or decrease by a ratio of "blocks per track of blocksize" divided
by "blocks per track of 4096" during data set COPY and RESTORE
processing. As part of the fix to this problem, three pairs of 4-byte
fields at offset X'20' through X'37' in ADRPATCH
are provided for installations to change the incorrect secondary allocation
quantity of an unpreallocated target PDSE during COPY and RESTORE
processing. The secondary allocation quantity of the source PDSE is
not affected by the patch.
Note: Use this patch to change the incorrect secondary allocation
quantity resulting from PTFs UW06768 and UW06769. Set the high threshold
value with caution to avoid changing the secondary allocation quantity
of PDSE data sets that are not affected by PTFs UW06768 and UW06769.
To use this function when the source PDSE is allocated in cylinders,
you must modify the 4-byte field at each of the following offsets:
- X'20'
- A nonzero, 4-byte value indicates a threshold in cylinders. DFSMSdss
compares the secondary allocation quantity of the source PDSE to this
threshold. If the secondary allocation quantity is greater than this
threshold, the value set at offset X'24' is used as the secondary
allocation quantity in the calculation for the target PDSE.
A
zero, 4-byte value indicates this function is not activated.
- X'24'
- This value is used as the secondary allocation quantity in cylinders,
if applicable.
To use this function when the source PDSE is allocated
in tracks, you must modify the 4-byte field at each of the following
offsets:
- X'28'
- A nonzero, 4-byte value indicates a threshold in tracks. DFSMSdss
compares the secondary allocation quantity of the source PDSE to this
threshold. If the secondary allocation quantity is greater than this
threshold, the value set at offset X'2C' is used as the secondary
allocation quantity in the calculation for the target PDSE.
A
zero, 4-byte value indicates this function is not activated.
- X'2C'
- This value is used as the secondary allocation quantity in tracks,
if applicable.
To use this function when the source PDSE is allocated
in blocks, you must modify the 4-byte field at each of the following
offsets:
- X'30'
- A nonzero, 4-byte value indicates a threshold in blocks. DFSMSdss
compares the secondary allocation quantity of the source PDSE to this
threshold. If the secondary allocation quantity is greater than this
threshold, the value set at offset X'34' is used as the secondary
allocation quantity in the calculation for the target PDSE.
A
zero, 4-byte value indicates this function is not activated.
- X'34'
- This value is used as the secondary allocation quantity in blocks,
if applicable.
You can specify one, two, or all three pairs of values.
For example, you should make the modifications shown in the JCL example
below to the sample JCL (see
Sample JCL)
to cause DFSMSdss to do the following:
- Use 250 cylinders as the secondary allocation quantity when the
source PDSE is allocated in cylinders and has a secondary allocation
quantity greater than 5000 cylinders.
- Use 2500 tracks as the secondary allocation quantity when the
source PDSE is allocated in tracks and has a secondary allocation
quantity greater than 50 000 tracks.
- Use 12 500 blocks as the secondary allocation quantity when
the source PDSE is allocated in blocks and has a secondary allocation
quantity greater than 250 000 blocks.
//SYSIN DD *
NAME ADRDSSU ADRPATCH
VER 20 00000000 /* Verify value is 0 */
REP 20 00001388 /* If > 5000 cylinders */
VER 24 00000000 /* Verify value is 0 */
REP 24 000000FA /* Then use 250 cyls */
VER 28 00000000 /* Verify value is 0 */
REP 28 0000C350 /* If > 50000 tracks */
VER 2C 00000000 /* Verify value is 0 */
REP 2C 000009C4 /* Then use 2500 tracks */
VER 30 00000000 /* Verify value is 0 */
REP 30 0003D090 /* If > 250000 blocks */
VER 34 00000000 /* Verify value is 0 */
REP 34 000030D4 /* Then use 12500 blks */
NOTE: As an alternative, you can use the SET PATCH command
to set the patch bytes dynamically