SYNAD exits are triggered by I/O errors.  While the B37 was caused by an I/O 
REQUEST, no actual output OPERATION was attempted because the out of extents 
condition was detected before one could be initiated.

> -----Original Message-----
> From: IBM Mainframe Assembler List [mailto:ASSEMBLER-
> [email protected]] On Behalf Of Christopher J Pomasl
> Sent: Thursday, September 22, 2011 2:32 PM
> To: [email protected]
> Subject: Re: SYNAD routine
>
> 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