Thanks,
I read those excerpts in that manual and attributed the ABEND exit to OPEN and
CLOSE issues.  I'm wondering why a B37 is not an I/O error since the record
could not be written.  Seems the very definition of I/O error.

Looking at the messages guide though, the System Action for IEC030I specifically
says that the ABEND exit is called if available else the task is abended.

Pay dirt!!

Chris

On 09/22/2011 02:50 PM, Chip Grantham wrote:
Synad appears to be for physical error only.  Found this in the manual:

Analyzing I/O Errors
The basic and queued access methods both provide special macros for
analyzing
I/O errors. These macros can be used in SYNAD routines or in error
analysis
routines. If your program does not have a SYNAD routine, the access method
issues ABEND 001.


You might be looking for the DCB abend routine exit:

DCB ABEND Exit
The DCB ABEND exit is provided to give you some options regarding the
action
you want the system to take when a condition occurs that may result in
abnormal
termination of your task. This exit can be taken any time an abend
condition
occurs during the process of opening, closing, or handling an
end-of-volume
condition for a DCB associated with your task. However, it is not taken if
an EOV
abend condition occurs during the CLOSE issued by task termination. The
exit is
taken only for determinate errors that the system can associate with the
DCB.
When an abend condition occurs, a write-to-programmer message about the
abend
is issued and your DCB abend exit is given control, provided there is an
active
DCB abend exit routine address in the exit list contained in the DCB being
processed. If STOW called the end-of-volume routines to get secondary
space to
write an end-of-file mark for a PDS, or if the DCB being processed is for
an
indexed sequential data set, the DCB abend exit routine is not given
control if an
abend condition occurs. When your exit routine is entered the contents of
the
registers are the same as for other DCB exit list routines, except that
the 3
low-order bytes of register 1 contain the address of the parameter list
described in
Figure 115.

> From z/OS Using Datasets dgt2d480.pdf.

Chip Grantham  |  Ameritas  |  Sr. IT Consultant | [email protected]
5900 O Street, Lincoln NE 68510 | p: 402-467-7382 | c: 402-429-3579 | f:
402-325-4030





Christopher J Pomasl<[email protected]>
Sent by: IBM Mainframe Assembler List<[email protected]>
09/22/2011 03:34 PM
Please respond to
IBM Mainframe Assembler List<[email protected]>


To
[email protected]
cc

Subject
SYNAD routine






The DCB is QSAM and a SYNAD is defined.
The PUT, eventually, gets a B37 but the SYNAD is never triggered.
Should it be for a B37 or do I need to use a different exit?

Chris

*******
This message may contain confidential information intended only
for the use of the addressee(s) named above and may contain
information that is legally privileged. If you are not the
addressee, or the person responsible for delivering it to the
addressee, you are hereby notified that reading, disseminating,
distributing or copying this message is strictly prohibited.  If you
have received this message by mistake, please immediately notify
us by replying to the message and delete the original message
immediately thereafter.  Thank you.
*******

Reply via email to