IBM Mainframe Forum Index
Log In
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register

possible to write synad to only handle one error?

IBM Mainframe Forums -> Testing & Performance
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message

New User

Joined: 15 Jan 2015
Posts: 98
Location: USA

PostPosted: Sat Apr 11, 2015 10:55 pm
Reply with quote

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
View user's profile Send private message

Active Member

Joined: 30 Nov 2013
Posts: 917
Location: The Universe

PostPosted: Sun Apr 12, 2015 3:48 am
Reply with quote

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
View user's profile Send private message
Bill Woodger

Moderator Emeritus

Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Sun Apr 12, 2015 4:43 am
Reply with quote

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
View user's profile Send private message

New User

Joined: 15 Jan 2015
Posts: 98
Location: USA

PostPosted: Sun May 03, 2015 9:24 pm
Reply with quote

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.

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
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> Testing & Performance


Similar Topics
Topic Forum Replies
No new posts PKZIP error ZPFM121E and ZPCE009E JCL & VSAM 6
No new posts OpenPGP Decryption job getting LRECL ... IBM Tools 7
No new posts Compare 2 files and write Matched/Unm... JCL & VSAM 8
No new posts Error to read log with rexx CLIST & REXX 11
No new posts Error when install DB2 DB2 2
Search our Forums:

Back to Top