LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (November 2010)Back to main CICS-L pageJoin or leave CICS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Fri, 12 Nov 2010 10:48:55 -0700
Reply-To:     CICS List <CICS-L@LISTSERV.UGA.EDU>
Sender:       CICS List <CICS-L@LISTSERV.UGA.EDU>
From:         Frank Swarbrick <frank.swarbrick@EFIRSTBANK.COM>
Subject:      Re: CICS HANDLE ABEND
Comments: To: VSE Discussion List <vse-l@lehigh.edu>
In-Reply-To:  <F255EFE0ECF08C4A9C1DB6AFF4235417123E449D@ch2wpmail1.na.ds.ussco.com>
Content-Type: text/plain; charset=us-ascii

>>> On 11/11/2010 at 6:28 AM, in message <F255EFE0ECF08C4A9C1DB6AFF4235417123E449D@ch2wpmail1.na.ds.ussco.com>, "Chase, John" <jchase@USSCO.COM> wrote: >> -----Original Message----- >> From: CICS List On Behalf Of Frank Swarbrick >> >> [ snip ] >> >> Seems to me that it would be useful to have EXEC CICS HANDLE ABEND > enhanced so there would be an >> option to the following: >> 1) Do a transaction dump for the abend >> 2) Give control to the user abend handler label/program >> 3) When the program returns to CICS, continue with abend processing; > ie DTB et al. >> >> No idea if that's feasible, but it seems to me to be ideal. We'd get > the best(?) of both words. A >> dump and DTB, but also the ability to terminate gracefully from the > end user's point of view. > > HANDLE ABEND tells CICS to transfer control to a label or program you > specify, in case of an abend. That label or program is, effectively, an > "exit routine" in which you can already do the things you ask (and more, > if desired). > > For example: > > ABEND-HANDLE-ROUTINE. > . . . > EXEC CICS DUMP > TRANSACTION > DUMPCODE(whatever) > <other options> > END-EXEC. > . . . > CALL 'CEE3DMP' USING <title, options, fc>. > . . . > EXEC CICS SYNCPOINT > ROLLBACK > END-EXEC. > . . . > ABEND-HANDLE-ROUTINE-EXIT. > EXIT. > > Now, I "speak" just enough COBOL to embarrass myself (and others), but I > believe this code fragment does everything you specified: > > 1. Produces a transaction dump (and optionally a SYSDUMP, depending on > your dump table options for the dumpcode you specify); > > 2. Produces an LE dump, according to the options you specify; > > 3. Instructs CICS to back-out everything in "this" LUW that has not > already been committed. > > >> Maybe I'm just crazy. > > Naw; you just stopped reading too soon. :-)

Not exactly. I realized that these things could be done. But the state of the data in the dump is not what it was at the time of the actual abend, but what it was at the time the dump request was issued after the abend has been handled. See the following:

CEEMSG (LE) output when no HANDLE ABEND:

CEE3250C The system or user abend AEIP was issued. From compile unit CICSWIRE at entry point CICSWIRE at statement 5053 at compile unit offset +00005ED4 at entry offset +00005ED4 at address 1071FED4. CEE3DMP V1 R10.0: Condition processing resulted in the unhandled condition. 11/12/10 9:42:13 AM Page: 1 Task Number: 1564 Transaction ID: WIRE

CEE3845I CEEDUMP Processing started.

--------------------------

CEEMSG (LE) output when HANDLE ABEND is specified, and the "exit code" does an EXEC CICS DUMP and a call to CEE3DMP:

CEE3DMP V1 R10.0: Frank's Dump 11/12/10 9:40:39 AM Page: 1 Task Number: 1436 Transaction ID: WIRE

CEE3845I CEEDUMP Processing started. CEE3DMP called by program unit CICSWIRE at statement 14686 (offset +0001B4C2).

-------------------------

CEEMSG (LE) output when HANDLE ABEND is specified, and the "exit code" does EXEC CICS ABEND ABCODE (abcode) where abcode is retrieved from EXEC CICS ASSIGN ABCODE (abcode):

CEE3250C The system or user abend AEIP was issued. From compile unit CICSWIRE at entry point CICSWIRE at statement 14682 at compile unit offset +0001B47C at entry offset +0001B47C at address 1073547C. CEE3DMP V1 R10.0: Condition processing resulted in the unhandled condition. 11/12/10 10:23:11 AM Page: 1 Task Number: 1804 Transaction ID: WIRE

CEE3845I CEEDUMP Processing started.

-------------------------

So the original abend occured at statement 5053, (offset 5ED4), but neither method of using HANDLE ABEND reflects this.

We've also lost the values of some of the EIB fields (particularly EIBRESP, EIBRESP2, EIBFN and EIBRCODE).

I've never tried to make use of an actual CICS transaction dump, but it appears that it has the same issues as the LE dump.

Perhaps there are some tricks that can be done to restore these fields to how they looked at the time of the original abend, but I do not know what they are.

Frank

--

Frank Swarbrick Applications Architect - Mainframe Applications Development FirstBank Data Corporation - Lakewood, CO USA P: 303-235-1403

The information contained in this electronic communication and any document attached hereto or transmitted herewith is confidential and intended for the exclusive use of the individual or entity named above. If the reader of this message is not the intended recipient or the employee or agent responsible for delivering it to the intended recipient, you are hereby notified that any examination, use, dissemination, distribution or copying of this communication or any part thereof is strictly prohibited. If you have received this communication in error, please immediately notify the sender by reply e-mail and destroy this communication. Thank you.


Back to: Top of message | Previous page | Main CICS-L page