We work in a org where multiple MF applicaitons are active. Several jobs go down with the U0016 abend code for Exceeding sort capacity.
As a automation unit we have been asked to device a preventive tool , which will help in identifying the jobs which are about the reach the sort capacity coded in the JCL.
Due to differnet applications in MF , coding sort parameters have been different like some may go with DYNALLOC & some would go ahead and code SRTWKnn.
Approach we are thinking of is as below :
1. Calculate the count of records in each input file in verious sort steps.
2. Include a program which will calcualte the sort capacity needed for processing the count of records from step#1.
3. Pass on the cylinders required in SYSIN in DYNALLOC method.
with this we will always have enough sort capacity required for any increase or decrease of the record counts in different jobs.
1. Will this approach work well ? any flip side to this approach ?
2. Is there any other easier approach which can be implmented across multiple different MF applicaitons ?
Joined: 06 Jun 2008 Posts: 8455 Location: Dubuque, Iowa, USA
First, you didn't mention if you're using SYNCSORT, DFSORT, CA-SORT or whatever -- suggestions vary somewhat for different sort packages since they don't all have the exact same parameters.
Second, if some of your sorts use tape input, how will you calculate the number of records other than reading the data set -- which, basically, means you're having to duplicate the reads the sort program will do?
Third, wouldn't it be quicker and easier to just make one pass through all the sorts and remove the SORTWKnn and all the other sort-related DD statements (for DFSORT that would include SW01WKnn, DATAWKnn, DA01WKnn, STATWKnn, and ST01WKnn,UTPRINnn,DTPRINn but not SORTDIAG and UTPRINT) so dynamic allocation can be used? Set a moderate primary and large secondary for the dynamic allocation and ensure that there is plenty of disk space and that sort can allocate plenty of dynamic work files.
Fourth, how many sorts does your site have that ABEND with SORT CAPACITY EXCEEDED each day/week/month? If you have 1 sort a month ABEND, it looks like a great deal of effort is being spent to correct a minor problem. Similarly, if only one application regularly gets the error message, perhaps you should focus on that one application instead of doing something site-wide.
This really sounds more like a busywork project to pad billing hours than something that any production mainframe environment would need.
You will have to work this out with System Programmer and may get a better solution and I would suggest you to take a look Specifying EXEC/DFSPARM PARM options and Using work space at the least ,before you make a discussion and it is not necessary to scan all the jobs across multiple MF projects as this will itself become a BIG Project, so concentrate only on those apps which you think can be processing huge volumes of data and potential candidates for failures.
If you are going to be automating things, you really need to be aware of the charging structures for resources at your site. Reading the data to see how much data there is is a waste of resources and usually the resources are paid for.
You should look out in your documentation for words like Installation, Tuning and Configuration and read all the related information.
DFSORT for instance makes an estimate of space required when using dynamic allocation for workspace. There are some diagnostic messages (which you could extract from "spool" output) which can highlight jobsteps with actual issues.