Thank you to the always-helpful Lizette! Yes, I have "looked at" a lot of things. You know how these things are: you head down one path, you hit some negative, so you head down some other path, and then you hit some new negative, so perhaps you go back to the first path ...
>From the LE P/G, 3.4.4.1.1: When TRAP(ON,SPIE) is in effect, Language Environment is notified of abends and program interrupts. Language semantics, C/C++ signal handlers, PL/I ON-units, and user-written condition handlers can then be invoked to handle them. An exception to this behavior is that Language Environment cannot handle Sx22 abends, even if TRAP(ON) is specified. I interpret that as saying that no matter how you slice it, LE will not handle/trap/pass/indicate operator cancels. It turns out the documentation is not really correct. I can issue an ABEND X'122',,,SYSTEM from my own code and LE handles it perfectly. What it cannot do is any SDWACLUP ABENDs including operator cancel, and there appears to be no getting around that with LE facilities. > I have seen LE being touchy at times when a process tries to override what it wants to do. Or even when you don't LOL! Yes, if this path is successful, I will go to TRAP(OFF) so we are not fighting with each other. Charles -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of Lizette Koehler Sent: Wednesday, August 28, 2013 8:00 AM To: [email protected] Subject: Re: LE U4088 Reason 63 -- no back chain This is just a question. Have you looked at using a LE User Handled Condition instead of an ESTAEX? CEEHDLR-Register User-written condition handler z/OS V1R12.0 Language Environment Programming Reference SA22-7562-12 CEEHDLR registers a user-written condition handler for the current stack frame. The user condition handler is invoked when: It is registered for the current stack frame by CEEHDLR, and The Language Environment condition manager requests the condition handler associated with the current stack frame handle the condition. Language Environment places the user-written condition handlers associated with each stack frame in a queue. The queue can be empty at any given time. The Language Environment condition manager invokes the registered condition handlers in LIFO (last in, first out) order to handle the condition. The opposite of CEEHDLR, which registers a user-written condition handler, is CEEHDLU, which unregisters the handler. You do not necessarily need to use CEEHDLU to remove user-written condition handlers you registered with CEEHDLR. Any user-written condition handlers created through CEEHDLR and not unregistered by CEEHDLU are unregistered automatically by Language Environment, but only when the associated stack frame is removed from the stack. I have seen LE being touchy at times when a process tries to override what it wants to do. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
