View previous topic :: View next topic
|
Author |
Message |
Lynne
Active User
Joined: 15 Jan 2015 Posts: 107 Location: USA
|
|
|
|
z/OS v2r1 mainframe batch question.
I test in an environment that really limits disk space. The production environment uses a lot of tapes. So, if I use a tape for input, but create a disk file for easier testing, I am continually having to cut cut cut my test sample to be able to run a test of 2 or 3 jobs all the way through without blowing up on space
is there a way to code a synad routine so that it only handles something like B37 (running out of space), and returns to the system for everything else?
I would like to just test if I am in the test system, and if I am, capture the B37, and just do normal EOD processing.
That way, I could reduce my files easily without having to add jobs to strip off so many records from a tape file to create an small input file.
So, basically, I am wondering if I can check for B37, handle that error, and ignore the rest - hand those back to the system.? |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
The first problem with your theory is a SYNAD routine is not entered for a B37 ABEND. It is only entered for a real I/O error; a B37 is not a real I/O error.
You might have a chance of implementing your proposal by using an ESTAE exit and recovery routine. The exit routine would test for a system B37 ABEND and "schedule" your normal end of job as a recovery routine, otherwise let the ABEND continue.
I do hope you're an Assembler programmer and know how to distinguish a B37 ABEND from a user 2871 ABEND. Since you seem to know so little about SYNAD I suspect you don't really know enough to get this scheme to work. |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
Assembler batch program, or an high-level language?
One input, one output? When you get the B37 will you be a few records short, or a great many short? |
|
Back to top |
|
|
Lynne
Active User
Joined: 15 Jan 2015 Posts: 107 Location: USA
|
|
|
|
Sorry for the delay in answering. I thought I had notification of reply set.. but I guess I didn't.
Steve, the following IBM documentation did seem to imply that you could code a SYNAD exit for the problem of running out of space:
SYNAD Synchronous Error Routine Exit
If you look at the 2nd row, and the explanation there, it is for the condition:
Space Not Found for Adding a Record: The space allocated to the data set is already filled. In locate mode, a buffer segment address is not provided. In move mode, data is not moved.
Bill,
Assembler program. 1 input, usually tape. It will be a great many short. Tapes hold a lot of data. I want to just be able to create a subset of data, but not have to write new JCL for every production job I test.
Thanks for your replies. |
|
Back to top |
|
|
|