Primary quantity
The maximum value in the sample code accommodates the largest data set that can fit on a 3380 or 3390 device. Change the maximum value to satisfy the requirements of your site. If your site uses volumes other than 3380s and 3390s, use the maximum value for the smallest device. The examples in Assembler language example and C language example set the PQTY maximum value in 4-KB blocks. The value 159120 represents 884 cylinders times 180 4-KB blocks per cylinder.
Remove the comments to use one of the following examples to prevent the RESIZE User Exit from calculating a PQTY that is greater than one volume. Alternatively, uncomment and edit one of the examples to change the maximum value of the PQTY to a value of your choice. After modifications, assemble and link-edit the user exit.
Assembler language example
To remove the comments from the Assembler code, delete the asterisks in column 1 of lines 3 through 6.
Commented PQTY in Assembler
* 180 4K BLKS PER 3380/3390 CYL
* L R4,=F'159120' <= SET MAX PRIQTY EG. 884 CYL
* CR R15,R4 IS CALCULATED PRIQTY > MAX
* BNH EXIT NO
* LR R15,R4 SET TO MAX
L R13,4(,R13)
C language example
To remove the comments from the C code, delete the /* and */ characters for the int declaration and the if statement.
Commented PQTY in C
/* if the calculated primary quantity is greater than the*/
/* maximum value allowed for primary quantity, reset to */
/* the max. */
/*if (Inew_pqty > Max_pqty) */
/*{ */
/* Inew_pqty = Max_pqty; */
/*} */