Based on the extremely large filesize and space availability, it looks like you'll need about 250,000 cylinders of sortwork space. If this amount of space is not available, then MAXSORT is definitely the way to go. However, if it is going to be available, then you have several options. The first is code all of the SORTWKs in the JCL. I would recommend 100 SORTWKs, each with 2000 cylinders of primary space, or 200 SORTWKs of 1250 cylinders of primary space each plus secondary space. The second option is to allow DYNALLOC to get the space for you. I would recommend a minimum of DYNALLOC=(SYSDA,100). Although, 125 or 150 would be better. You could also code some SORTWKs in the JCL and let SyncSort get the remaining space for you.
If you are going to do this as a conventional sort there are 2 things you should be careful of. The first thing is the filesize. If the input is being read by the sort and is from either DASD or from tape, SyncSort should be able to get a good estimate on how much data is being sorted. If the input is supplied by an exit it will be important for you to provide and estimate of how much data is going to be sorted. In your example, this can be done by adding the following code to the sort step:
//$ORTPARM DD *
You should also make sure that the DYNALLOC RETRY is set properly. This will allow the sort to WAIT for DASD space to free up in the event of a DASD shortage when a dynamic allocation request is made for additional SORTWK devices. This is documented in both the SyncSort for z/OS 1.2 Programmer's Guide and the Installation Guide.
Hope this is helpful. If you have any further questions, or would like information about how to modify your job to be processed as a MAXSORT application, please feel free to contact SyncSort Product Services directly at 201-930-8260. We would be happy to provide you with the Exploiting MAXSORT Guide along with personnal assistance.
How can we decide no of workfiles needed.
The calculation for coding appropriate SORTWK space can be found in the SyncSort for z/OS 1.2 Programmer's Guide on pages 13.7-13.8.