Problem 4: Jobs with large data sets were taking excessive time to run (12 to 13 hours).
Solution: The group coded additional buffers to reduce the amount of I/O and significantly improve job performance. The default buffer amount is five for flat data sets. For VSAM, the default is two data buffers and one index buffer. The programmers tested and tuned this to continue to improve run-time. One shop reported they decreased their run-time by 80 percent (see Figure 4).
Further explanation: Code BUFND when accessing a VSAM data set sequentially to increase the number of data buffers. If accessing a VSAM data set randomly (using the index), then increase the number of index buffers by coding BUFNI. For a large flat data set, code BUFNO to increase the amount of buffers.
Problem 5: Just three months ago, during a JCL class, we noticed that 95 percent of VS COBOL II production load modules were below the line. (Years ago, when VS COBOL II was introduced, a major performance benefit was to get the COBOL load modules above the line.) The team was recompiling these below the line modules under the Language Environment, IBM’s newest COBOL, but still forcing the modules below the line!
Solution: The group created new compile-and-link JCL to take advantage of the performance benefits gained by getting the load modules above the line (see Figure 5).
Advantages of Sharing the Checklist
A JCL production checklist describes items in your environment that need to be addressed to improve efficiency. When implemented, the production checklist ensures that everyone is aware of and using the suggestions to improve the JCL code and other technical issues that interfere with efficiency and performance (getting results). Not just one or two people will follow the plan, but your entire team, anyone who is in any way involved with coding or using JCL will know and exercise the “best practices” for your environment. Think of the potential for vast improvement when everyone is on the same page!
Some specific benefits of the checklist include:
- Reducing the number of I/Os, which can significantly reduce the run-time
- Coding JCL consistently, which can decrease the number of JCL errors and job reruns and increase productivity
- Eliminating unnecessary statements and parameters, making JCL easier to understand, which also translates to greater productivity
- Addressing items that impede performance (such as the COBOL example where the modules resided below the line).
Taking Action With a Strong Team
To gain productivity, start your environment-specific checklist today. The first step is to form a qualified team, educated in the best practices. This might include outside JCL experts to perform an assessment that should:
- Evaluate your existing production JCL by reviewing at least two jobs from each system
- Strive for consistency and address items that interfere with work results or efficiency
- Assign someone to watch for three days while production is being run; interview operators to ask what problems they’re experiencing
- Review four weeks of production error logs
- Review the process to move members into production.
The second step is to begin the task of implementing the checklist. This action should:
- Ensure your people receive continuous quality education in IT basics such as JCL, COBOL, and whatever is required to perform their jobs
- Ensure that everyone has a copy of the JCL production checklist
- Enforce accepting JCL into production only when the JCL conforms to the guidelines
- Interview at least one representative from each of the IT areas and users looking for suggestions or problems.
Implementing a JCL Production Checklist Using Tools
There are numerous software tools available to automate processes, such as JCL management software, change management software, and software that monitors application performance. These software tools, when implemented correctly, set up checks and balances to ensure JCL code is efficient, members are moved into production correctly, and applications are running at peak performance.
- It might seem as though the easiest approach is to do nothing. But doing a little work now will eliminate many problems later—problems that transcend jobs abending or running inefficiently and encompass those affecting morale. IT standards, such as a well-constructed production checklist, help everybody perform their jobs better and ensure the JCL coding will be optimal and consistent. Consistency is such a seemingly simple idea, yet often elusive. Implementing the checklist can have a highly positive impact on the production batch workload and the people working with the technology. Simple in this case means efficient and elegant. To get results, as Nike says, “Just Do It!”