Page 1 of 1

How to increase DYNAMIC WORK space allocation?

PostPosted: Fri Oct 29, 2010 8:48 pm
by don shaw
Hi folks,

Under DFSort V1.10 on z/OS 1.11, using DYNAMIC allocation of WORK files (no SORTWKnn in JCL) , a job fails on a S-B37, then a U-4083. When the job is re-run including JCL statements for SORTWK01-30 with "SPACE=(CYL,(2500,2000))" each, the job runs successfully.

Our ICEPRM00 member specifies, among other values, "DSA=128", "DYNAUTO=YES", "HIPRMAX=OPTIMAL", "MAXLIM=2097152", "MOSIZE=MAX", "TMAXLIM=16777216".

In the failing DYNAMIC run, control statements were:
SORT FIELDS=(0001,0012,CH,A,0065,0010,CH,A,0277,0019,CH,A)
RECORD TYPE=F,LENGTH=(000350,,)
OPTION DYNALLOC=(,35),DYNSPC=64512

and

SORT FIELDS=(0001,0012,CH,A,0277,0019,CH,A)
RECORD TYPE=F,LENGTH=(000350,,)
OPTION DYNALLOC=(,35),DYNSPC=64512

and

SORT FIELDS=(0001,0012,CH,A,0022,0012,CH,A)
RECORD TYPE=F,LENGTH=(000350,,)
OPTION DYNALLOC=(,35),DYNSPC=64512

DFSORT messages from the last step of the successful run:

ICE750I 0 DC 0 TC 0 CS DSVVV KSZ 24 VSZ 24
ICE752I 0 FSZ=0 RE IGN=0 C AVG=352 0 WSP=0 E DYN=0 0
ICE751I 1 DE-K50430 D5-BASE D3-BASE D7-BASE E8-K51707
ICE091I 0 OUTPUT LRECL = 350, TYPE = F
ICE055I 0 INSERT 14101118, DELETE 14101118
ICE054I 0 RECORDS - IN: 0, OUT: 0
ICE134I 0 NUMBER OF BYTES SORTED: 4935391300
ICE253I 0 RECORDS SORTED - PROCESSED: 14101118, EXPECTED: 0
ICE165I 0 TOTAL WORK DATA SET TRACKS ALLOCATED: 1032750 , TRACKS USED: 91620
ICE199I 0 MEMORY OBJECT STORAGE USED = 0M BYTES
ICE180I 0 HIPERSPACE STORAGE USED = 0K BYTES
ICE188I 0 DATA SPACE STORAGE USED = 0K BYTES
ICE052I 0 END OF DFSORT

Messages from the unsuccessful run:

ICE750I 0 DC 0 TC 0 CS DSVVV KSZ 24 VSZ 24
ICE752I 0 FSZ=0 RE IGN=0 C AVG=352 0 WSP=0 E DYN=0 0
ICE751I 2 BA-K48846 BB-K54588 C4-K44564 D3-BASE E2-BASE D3-BASE D7-BASE DA-K51707
ICE185A 0 AN U4083 ABEND WAS ISSUED BY DFSORT, ANOTHER PROGRAM OR AN EXIT (PHASE S 3)

Any suggestions as to what we can change so that this job can run without hardcoding SORTWKnn file allocations?

Thanks, ...Don

Re: How to increase DYNAMIC WORK space allocation?

PostPosted: Fri Oct 29, 2010 11:34 pm
by Frank Yaeger
ICE055I 0 INSERT 14101118, DELETE 14101118
ICE054I 0 RECORDS - IN: 0, OUT: 0


These messages indicate that your exit is inserting all of the records. But DFSORT has no way of knowing how many records your exit is passing.

So you need to give DFSORT an estimate of the number of records:

  OPTION DYNALLOC=(,35),FILSZ=E14200000

Re: How to increase DYNAMIC WORK space allocation?

PostPosted: Mon Nov 01, 2010 8:06 pm
by don shaw
Hi Frank,

Thanks for your reply!

We'll see if there's a method by which the program can pass an estimation of the number of records to be processed to DFSort.

Cheers, ....Don