I've got an assembler program that I believe was once working correctly but to which I recently made fairly extensive alterations. I recently had a test in which I ended up with a full program ABEND rather than my SYNAD or ABEND recovery happening, and I'm trying to get my arms around what happened and what should have happened, the latter being documented in a somewhat fragmentary fashion, IMHO.
The error, FWIW, is IOS000I 0339,5A,CMD,47,0E00,,01C9000C,SYSP01,XXX001EI, 8000000000C91C04042084000000000000000000FF010F0000004EA00001C90C FAILING PARAMETER LIST DATA = 8680000401C9000C01C9000C00000000 IEC020I 001-3,XXX001EI,XXXXXXXX,SYS00027,0339,SYSP01, IEC020I XXXTEST.XXXFILES.XXXTESTU.BB8XJJ46.SYSXXX IEC020I NON-ACCEPTABLE ERROR In non-technical terms, the problem was that due to an unrelated logic error, the program tried to read a new and un-written dataset and found strange garbage on the first track. I can (and did) of course fix that problem, but I want to make sure the SYNAD and DCB ABEND logic are in fact working correctly. The SYNAD routine sets a flag that the mainline processes by displaying messages and terminating in an orderly fashion. That did not happen as intended. None of my messages came out apparently because the program ABENDed before the mainline logic regained control, so I'm trying to figure out what might have happened internally. 1. The (QSAM input) DCB specifies EROPT=ACC. In this case apparently the error was not eligible for ACC. Is that how you would interpret the above messages? In other words, I don't have to consider that I somehow fouled up the code and the SYNAD exit is not being honored? 2. Is there documentation anywhere of which errors are eligible for ACC and which are not? 3. There is a DCB ABEND exit specified in the DCB exit list. Should not the DCB ABEND exit have been called? The DCB ABEND exit also sets a flag for the mainline code and then always returns Ignore (x'04'). Does anyone see evidence in the above that the DCB ABEND exit was or was not driven? (There is no ESTAE type exit.) 4. Is there any documentation anywhere of which errors are not eligible for ABEND exit Ignore? 5. What do developers do in this situation? Okay, DFSMS is unwilling to ignore the error - I understand that. Nonetheless, I would like the opportunity to do an orderly termination. What should a DCB ABEND exit do for a non-Ignorable condition so that the error will be ignored long enough for the program to do an orderly termination? Thanks, Charles Mills ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html

