ABEND-SOLVE
for BATCH and CICS
ABEND-RESOLVE SOURCE CODE DISPLAY VIEW PROGRAM AMSAMC4
Columns 01
72 Command ===>
Scroll ===> PAGE
----+---10----+---20----+ 000017 10 WSCOUNT-COMP3 PIC S9(7) COMP-3 ???????? 4444 0000 ======
======================================================================== 000138 02 EIBRESP2 COMP PIC S9(8). 000139 02 EIBRLDBK PIC X(1). 000140 01
DFHCOMMAREA PICTURE X(1). 000141 004600 PROCEDURE DIVISION USING
DFHEIBLK DFHCOMMAREA.
000142 004700 000143 004800 200-ASRA.
000144 004900
000145 005000 MOVE SPACES TO
WSCOUNT-GROUP. 000146 005100 ADD 1 TO WSCOUNT-COMP3. 000147 005200
000148 005300 999-RETURN.
000149 005400
000150 005500 GOBACK.
000151 005600
****** *****************************
Bottom of Data *************************** F1=HELP F2=VALUES F3=EXIT
F4=PGM CHAIN F5=RFIND
F6=EXPLAIN F7=BACK F8=FORW | |
ABEND-RESOLVE incorporates expert dump processing logic to
analyze CICS transaction abends, eliminate duplicate transaction dumps, and
manipulate transaction dumps from multiple CICS regions in your CICSPLEX and
MRO CICS environments.
- Highlights
the COBOL source statement that caused the abend.
- Displays
the value of the working storage fields associated with the abending
statement.
- Displays
the value of ALL working storage fields in your program at the time of
abend.
- Displays
your entire source code program.
- Virtually
no learning curve as all source program displays are in ISPF-LIKE
format. Use the same familiar ISPF
commands (“find”,”top”,”max”,etc) to navigate through your listings.
- Press
a PFKEY to lookup CICS abend code descriptions and documentation.
- Dump
files from multiple CICS’s can be logically grouped to be viewed and
managed from any CICS.
- Display
dumps from all CICS’s from any CICS.
Use our filters to display any matching dumps on ALL of your CICS’s
with one command. Eliminates the
need to logon to each CICS to determine if your area/department has any
current dumps.
Filters can set for abend code,
transaction id, user id,
terminal id, program id, date and
time. Generics can
be used on all filters.
- ABEND-RESOLVE
only requires 1 source listing file that can be shared for ALL of your
CICS’s across multiple CPU’s. This
can save significant disk space as only 1 copy of your source listings is
maintained.
- ABEND-RESOLVE
compresses source listings for maximum disk savings.
- Source
listings do not have to compiled ahead of time. ABEND-RESOLVE can use source listings
compiled after the abend has occurred.
- Includes
a loadlib hierarchy to allow one program to have an unlimited number of
source code listings for each of your production, test, development, etc
environments.
- Automatic
indexing of source code listings allows the correct listing to be selected
regardless of the loadlib containing the program.
- YOU
ARE NOT LIMITED TO JUST THE SOURCE CODE AND WORKING STORAGE VALUES OF THE
ABENDING PROGRAM.
ABEND-RESOLVE will allow you to display the last
executed statement, the entire source listing, and current working storage
values for ALL COBOL programs in the current program call/link chain. This includes COBOL call statements or EXEC
CICS LINK statements.
For example:
Program A
calls program B.
Program B
creates bad data and calls Program C.
Program C
abends.
As you can see from this example, having abend data
for Program C is not very helpful as Program B was the one with the error that
passed bad data. ABEND-RESOLVE will
allow you to display any of these programs and their working storage values at
the time of the abend.
SOURCE
CODE DISPLAY
ABEND-RESOLVE SOURCE CODE DISPLAY
VIEW PROGRAM
AMSAMC3
Columns 01 72 Command
===> Scroll
===> PAGE
----+---10----+---20----+ 000127 01 DFHEIV0
PICTURE X(77).
..0....ÿ.00090 000021 05 SAMPLE-FILENAME PIC X(8). AM@FIDE 000024 01 SAMPLE-RECORD. KEYFIELD1
KEYFIELD2 ..... 000022 05 SAMPLE-LENGTH PIC S9(4) COMP. +00080 000025 05 SAMPLE-KEY. KEYFIELD1
KEYFIELD2 ..... ======
======================================================================== 000185 009000
000186 *EXEC CICS READ
DATASET(SAMPLE-FILENAME)
000187 *
INTO(SAMPLE-RECORD) 000188 *
RIDFLD(SAMPLE-KEY) 000189 *
LENGTH(SAMPLE-LENGTH) END-EXEC. 000190 009100 MOVE ' 0
ÿ 00090 ' TO DFHEIV0 000191 CALL 'DFHEI1' USING
DFHEIV0 SAMPLE-FILENAME
SAMPLE-RECORD 000192 SAMPLE-LENGTH SAMPLE-KEY. 000193 000194 009300
000195 009400
200-ASRA.
000196 009500 000197 009600 MOVE SPACES TO WSCOUNT-GROUP. F1=HELP F2=VALUES F3=EXIT F4=PGM CHAIN F5=RFIND PF6=EXPLAIN F7=BACK F8=FORW | |
ABEND-RESOLVE identifies the abending source code statement
and displays the contents of working storage and data values. This feature alone saves hours/days of
programmer time in reading dumps and then mapping the information back to the
program.
ABEND-RESOLVE identifies the abending source code statement
and displays the contents of working storage and data values. This feature alone saves hours/days of
programmer time in reading dumps and then mapping the information back to the
program.
The entire source program is available for the programmer to
review in a ISPF-like format. All
working storage fields AND values at the time of abend can be displayed as the
programmer pages sequentially through their program. Navigation through the source code is
accomplished with the same familiar ISPF commands (“find”, “top”, “max”,
“forw”, etc).
Not just the abending program is available for display. All COBOL programs in the current CALL/LINK
chain can be displayed along with their working storage values at the time of
the call/link to the next program. This
allows you to diagnose problems when program A calls program B, program B
creates errant data and calls program C.
Program C abends because of the errant data passed by program B. As you can see, having the ability to display
program B and its working storage contents at the time it called program C is a
dramatic advantage.
DUMP MANAGEMENT
ABEND-RESOLVE TRANSACTION DUMP
LIST
ERROR
CICS LAST DATE TIME
CICS CODE DESCRIPT TRAN TERM USER
PROGRAM RESOURCE 01-01-2000 00:00 CICS530 ____ ____ ____ ________ ________ _ 06-02-2003 23:46 CICS530 ASRA PGM ERROR AM@1 L703 CICSUSER
AMSAMC2 AM@FILE _ 06-02-2003 23:47 CICS530 AEIM NOTFND AM@2 L701 CICSUSER AMSAMC3 AM@FILE _ 06-02-2003 23:48 CICS23 AEI9 MAPFAIL AM@3 L300 CICSUSER AMPGM111 MAP1000 _ 06-02-2003 23:48 CICS23 AEI1 NOTOPEN PRD1 L000 CICSOPER PRD00001 FILEABC _ 06-02-2003 23:50 CICS23 AEIU ILLOGIC TRN1 S010 DFLTUSER PRD00
ENTER=REFRESH
PF1=HELP PF3=EXIT PF7=BACK PF8=FORWARD
ABEND-RESOLVE TRANSACTION DUMP LIST
ERROR
CICS LAST DATE TIME
CICS CODE DESCRIPT TRAN TERM USER
PROGRAM RESOURCE 01-01-2000 00:00 CICS23 ____ ____ ____ ________ ________ _ 06-02-2003 23:46 CICS23 4039 USER CODE AM@5 AMSAMC2 ASRA PGM ERROR AM@5 AMSAMC2 _ 06-02-2003 23:48 CICS23 4039 USER CODE AM@6 AMSAMC3 _ 06-02-2003 23:48 CICS23 AEIM NOTFND AM@6 AMSAMC3 _ 06-02-2003 23:50 CICS23 4039 USER CODE AM@6 AMSAMC3 _ 06-02-2003 23:50 CICS23 AEIM NOTFND AM@6 AMSAMC3 _ 06-02-2003 23:55 CICS23 4039 USER CODE AM@6 AMSAMC3 _ 06-02-2003 23:55 CICS23 AEIM NOTFND AM@6 AMSAMC3 _ 06-02-2003 23:55 CICS23 AEIM NOTFND AM@6 AMSAMC2 _ 06-03-2003 00:12 CICS23 4039 USER CODE AM@2 AMSAMC3 _ 06-03-2003 00:12 CICS23 AEIM NOTFND AM@2 AMSAMC3 _ 06-03-2003 00:12 CICS23 AEIM NOTFND AM@2 AMSAMC2 _ 06-03-2003 00:14 CICS23 4039 USER CODE AM@2 AMSAMC3 _ 06-03-2003 00:14 CICS23 AEIM NOTFND AM@2 AMSAMC3 _ 06-03-2003 00:14 CICS23 AEIM NOTFND AM@2 AMSAMC2 _ 06-03-2003 00:14 CICS23 AEIM NOTFND AM@2 TEMPCOB
ENTER=REFRESH PF1=HELP PF3=EXIT PF7=BACK PF8=FORWARD | |
ABEND-RESOLVE makes it easy for you to manage your CICS
transaction dumps. You can select,
delete, or list dumps for any CICS region from one simple screen. Filters allow you to display dumps by DATE,
TIME, CICS APPLID, USERID, TERMID, ABENDING PROGRAM, or ABEND CODE.
Any dump can be listed from any CICS region allowing you to
LOGON to only 1 CICS to see all dumps in your CICSPLEX and CICS MRO
environments.
DUMP SUPPRESSION
ABEND-RESOLVE CURRENT SUPPRESSED
DUMPS TIME ---
SUPPRESSED ---
DATE DUMPED APPLID
ABEND PROGRAM DESCRIPTION FIRST LAST NUMBER
11-09-2002
00:00 CICS530 ____
________ _
11-09-2002 22:13 CICS530 ASRA
AMSAMC2 PGM ERROR 22:13 22:15 00002 _ 11-09-2002 22:18 CICS530
AEIM AMSAMC3 NOTFND 22:20 22:21 00003
ENTER=REFRESH PF1=HELP PF3=EXIT PF7=BACK PF8=FORWARD | |
ABEND-RESOLVE provides suppression of duplicate dumps. Dumps are optionally suppressed if the same
program incurs the same abend code more than once.
You can display a list of all suppressed dumps detailing the
DATE and TIME of original abend, CICS APPLID, ABEND CODE, ABENDING PROGRAM, DATE and TIME of the first
and last suppressed dump, and the number of suppressed dumps.
No more wasted CPU time and delays while CICS creates
duplicate dumps that are not needed or wanted.
HUGE SAVINGS/BENEFITS IN RESOLVING PRODUCTION PROBLEMS
Without ABEND-RESOLVE, two processes typically occur when a
program abends in a production CICS.
- The
programmer brings the program down into the development/test environment
and tries to reproduce the problem.
This can involve checking out production versions of programs,
recompiling programs, duplicating VSAM files and DB2 tables in the test
environment, researching exactly what the end-user did to cause the abend,
and then use a debugging tool to find out the abending instruction.
- The
programmer calls the system programmer to print the CICS transaction
dump. Laboriously and painstakingly
they go through the dump looking for the abending instruction and mapping
out individual working storage fields needed to diagnose the problem. If more than one program is involved,
the process is multiplied.
- ABEND-RESOLVE
captures the information necessary to resolve the abend without the wasted
time of reproducing in a test environment or going through lengthy dumps.
HAVE YOU SEEN INTERMITTENT ABENDS THAT CAN’T BE
REPRODUCED?
Perhaps no other product produces a bigger benefit than ABEND-RESOLVE
provides in resolving intermittent production abends. With intermittent abends, reproducing in the
test/development environments and using a debugging aid is simply not an
option.
ABEND-RESOLVE captures the necessary information even if the
problem only occurs once.
You are no longer limited to waiting for a problem to
reoccur in order to determine the events that may have caused it to happen.
Because ABEND-RESOLVE is invoked only after a program abends
it adds no processing to your existing CICS transactions. ABEND-RESOLVE is ideal for your production
CICS environments.
TECHNICAL SPECIFICATIONS and INTERNAL INFORMATION
- ENVIROMENTS
SUPPORTED: Z/OS, OS/390, CICS/MVS 4.1 through CICS TS (all
releases).
- All
source code is in S/390 Assembler.
- Only
IBM documented interfaces are used in the product.
- Pop-up
error and informational messages are displayed.
- Messages
are detailed text up to 1600 characters per message. No worries about interpreting 80 byte
one line cryptic messages.
- Pop-up
Help screens throughout the product.
- Message
and Help screen source text is kept in a PDS member separated from the
source code. To change messages to
another language, simply convert the text in the PDS member and assemble
the module. Foreign vendors can
make the change without the need for source code. If desired, any customer can change the
error messages and help screens.
- One
module is used for applying maintenance using AMASPZAP. This eliminates the need to save ZAPAREA
in each program. Source code in
each module allows this function to automatically occur.
- Administration
screen includes a PFKEY to display all maintenance currently applied to
the product at the customer’s site.
- Z/OS
equivalent macros were written for the VSE version of ABEND-RESOLVE. This allows the source code for both
Z/OS and VSE to be stored and maintained from a PDS in Z/OS.
- Internal
trace mechanism to aid in debugging when necessary.
- VSAM
code written to allow the VSAM files to be shared by any number of CICS’s
and CPU’s. CPU’s do not need the
coupling facility to take advantage of the file sharing.
- Source
code listing VSAM file has internal compression resulting in 35-75% space
savings.
- Installs
in approximately 1 hour. Install
includes an installation verification procedure with sample programs to
quickly display the benefits of the product to the customer.
MAIN COMPONENTS SUMMARY
·
SOURCE PROGRAM LISTING CAPTURE.
Batch
process to capture the compiled listing (at compile time), index for excellent
performance when read from CICS, and compress for disk savings. Requires compiler options MAP and OFFSET, or
MAP and LIST. Additional code was added
to handle either OFFSET or LIST as some installations have requirements for one
or the other. ABEND HELP! supporting
both options is a huge benefit.
·
CICS TRANSACTION DUMP CAPTURE.
Background
CICS task to capture the CICS transaction dump AFTER it has been taken. ABEND-RESOLVE was specifically coded to
process dumps in a background mode to avoid adding any overhead to either the
user’s abending transaction or to CICS’s internal dumping processes. This background task was also coded with
performance in mind and processes most dumps in approximately 30 seconds (in
our benchmarks at multiple sites).
·
CICS TRANSACTION DUMP DISPLAY.
CICS
transactions and screens to display and manipulate CICS dumps. These transactions are standard CICS command
level assembler programs and maps.
·
CICS SOURCE LISTING DISPLAY.
CICS
transactions and screens to display the abending program’s COBOL source
code. These displays have mapped the
source code to the dump and display the COBOL source statement causing the
abend, COBOL working storage and their values at time of abend, the program
call/link chain and many other items related to dump processing.
·
CICS DUMP SUPPRESSION.
CICS
transactions to suppress duplicate dumps for the same program. ABEND-RESOLVE provides an additional unique
function to be able to suppress dumps by PROGRAM NAME and CICS abend code.