Professional Documents
Culture Documents
Ch09 Slides
Ch09 Slides
How to debug
a CICS abend
CICS, C9
Slide 1
Objectives
1. Explain the difference between an exceptional condition abend and
a program check abend.
2. Given an abend code, identify whether the abend was caused by an
exceptional condition, a program check, or another type of error.
3. Use EDF to trace the execution of a CICS program and locate the
contents of a working-storage field.
CICS, C9
Slide 2
Specification exception
Decimal-divide exception
Privileged operation
Data exception
Exponent overflow
Execute exception
Fixed-point overflow
Exponent underflow
Protection exception
CICS, C9
Slide 3
CICS, C9
Condition
ERROR
EOF
EIDS
INBFMH
ENDINPT
NONVAL
NOSTART
TERMIDERR
DSIDERR
NOTFND
DUPREC
DUPKEY
INVREQ
IOERR
NOSPACE
NOTOPEN
ENDFILE
ILLOGIC
Code
AEIV
AEIW
AEIZ
AEI0
AEI1
AEI2
AEI3
AEI8
AEI9
AEYA
AEYB
AEYC
AEYE
AEYG
AEYH
AEYJ
AEYK
Condition
LENGERR
QZERO
ITEMERR
PGMIDERR
TRANSIDERR
ENDDATA
INVTSREQ
TSIOERR
MAPFAIL
INVERRTERM
INVMPSZ
IGREQID
INVLDC
JIDERR
QIDERR
DSSTAT
SELNERR
Code
AEYL
AEYM
AEYN
AEYO
AEYP
AEYQ
AEYR
AEYT
AEYU
AEYV
AEYY
AEYZ
AEY0
AEY1
AEY2
AEY3
AEY7
Condition
FUNCERR
UNEXPIN
NOPASSBKRD
NOPASSBKWR
SEQIDERR
SYSIDERR
ISINVREQ
ENVDEFERR
IGREQCD
SESSERR
NOTALLOC
CBIDERR
INVEXITREQ
INVPARTNSET
INVPARTN
PARTNFAIL
NOTAUTH
Slide 4
Explanation
ABMB
You used the absolute cursor positioning technique and supplied a cursor
position thats beyond the limit of the output device.
ABM0
AFCV
AICA
The task exceeded the execution time limit for runaway tasks.
AKCS
The task was canceled because it was suspended for a period longer than the
transactions defined deadlock timeout period.
AKCT
The task was canceled because it was waiting for terminal input for a period
longer than the transactions defined terminal read timeout period.
AKC3
The task was purged, probably as the result of a master terminal operator
issuing the CEMT TASK PURGE command.
APCT
ASRB
An operating system abend has occurred; CICS was able to abend the
transaction and continue processing.
ATCH
CICS, C9
Slide 5
PL SL
CICS, C9
2.1.1
DFXXP00A
Date 02/20/2001
Time 13:40:55
----+-*A-1-B--+----2----+----3----+----4----+----5----+----6----+----7-|--+----8
IDENTIFICATION DIVISION.
*
PROGRAM-ID. DFXXP00A.
*
ENVIRONMENT DIVISION.
*
DATA DIVISION.
*
WORKING-STORAGE SECTION.
*
01 WORK-FIELDS.
*
05 PACKED-FIELD-1
PIC S9(07)V99 COMP-3.
05 PACKED-FIELD-2
PIC S9(07)V99 COMP-3.
05 ALPHA-FIELD-2
REDEFINES PACKED-FIELD-2
PIC X(05).
*
01 I-O-AREA
PIC X(100) VALUE LOW-VALUE.
*
01 START-UP-MESSAGE.
*
05 FILLER PIC X(30) VALUE 'ABEND TESTER
'.
05 FILLER PIC X(49) VALUE SPACE.
05 FILLER PIC X(79) VALUE SPACE.
05 FILLER PIC X(30) VALUE 'Press a PF key to force one of'.
Page
BLW=0000+ 000
0CL10
BLW=0000+000,0000000 5P
BLW=0000+005,0000005 5P
BLW=0000+005,0000005 5C
BLW=0000+ 010
100C
BLW=0000+ 078
0CL948
BLW=0000+078,0000000
BLW=0000+096,000001E
BLW=0000+0C7 ,000004F
BLW=0000+116,000009E
30C
49C
79C
30C
Slide 6
05
05
05
05
05
05
05
05
05
05
05
05
05
05
05
05
05
*
01
01
*
CICS, C9
FILLER
FILLER
FILLER
FILLER
FILLER
FILLER
FILLER
FILLER
FILLER
FILLER
FILLER
FILLER
FILLER
FILLER
FILLER
FILLER
FILLER
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
X(49)
X(79)
X(30)
X(49)
X(30)
X(49)
X(30)
X(49)
X(30)
X(49)
X(30)
X(49)
X(30)
X(49)
X(79)
X(30)
X(49)
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
BLW=0000+134,00000BC
BLW=0000+165,00000ED
BLW=0000+1B4,000013C
BLW=0000+1D2,000015A
BLW=0000+203,000018B
BLW=0000+221,00001A9
BLW=0000+252,00001DA
BLW=0000+270,00001F8
BLW=0000+2A1,0000229
BLW=0000+2BF,0000247
BLW=0000+2F0,0000278
BLW=0000+30E,0000296
BLW=0000+33F,00002C7
BLW=0000+35D,00002E5
BLW=0000+38E,0000316
BLW=0000+3DD,0000365
BLW=0000+3FB,0000383
49C
79C
30C
49C
30C
49C
30C
49C
30C
49C
30C
49C
30C
49C
79C
30C
49C
PROCESS-COMMAND-MESSAGE.
05 FILLER PIC X(49) VALUE 'COMMAND ACCEPTED'.
BLW=0000+430
0CL49
BLW=0000+430,0000000 49C
TERMINATION-MESSAGE.
BLW=0000+468
05
BLW=0000+468,0000000 9C
0CL9
Slide 7
PL SL
000148
000149
000150
000151
000152
000153
000154
000155
000156
000157
000158
000159
000160
000161
000162
000163
000164
CICS, C9
2.1.1
DFXXP00A
Date 02/20/2001
Time 13:40:55
----+-*A-1-B--+----2----+----3----+----4----+----5----+----6----+----7-|--+----8
*
01 COMMUNICATION-AREA
PIC X(01).
*
COPY DFHAID.
.
.
LINKAGE SECTION.
*
01 DFHEIBLK.
02
EIBTIME COMP-3 PIC S9(7).
02
EIBDATE COMP-3 PIC S9(7).
02
EIBTRNID PIC X(4).
02
EIBTASKN COMP-3 PIC S9(7).
02
EIBTRMID PIC X(4).
02
DFHEIGDI COMP PIC S9(4).
02
EIBCPOSN COMP PIC S9(4).
02
EIBCALEN COMP PIC S9(4).
02
EIBAID
PIC X(1).
02
EIBFN
PIC X(2).
02
EIBRCODE PIC X(6).
02
EIBDS
PIC X(8).
02
EIBREQID PIC X(8).
02
EIBRSRCE PIC X(8).
.
.
Page
1C
BLL=0001+000
BLL=0001+000,0000000
BLL=0001+004,0000004
BLL=0001+008,0000008
BLL=0001+00C,000000C
BLL=0001+010,0000010
BLL=0001+014,0000014
BLL=0001+016,0000016
BLL=0001+018,0000018
BLL=0001+01A,000001A
BLL=0001+01B,000001B
BLL=0001+01D,000001D
BLL=0001+023,0000023
BLL=0001+02B,000002B
BLL=0001+033,0000033
0CL85
4P
4P
4C
4P
4C
2C
2C
2C
1C
2C
6C
8C
8C
8C
Slide 8
01
*
01
*
1
1
1
1
DFHCOMMAREA
PIC X(01).
COMMON-WORK-AREA.
05 CWA-DATE
PIC 9(06).
*
PROCEDURE DIVISION USING DFHEIBLK DFHCOMMAREA.
*
0000-FORCE-USER-ABEND.
*
IF EIBCALEN > ZERO
*EXEC CICS
*
SEND TEXT FROM(PROCESS-COMMAND-MESSAGE)
*
ERASE
*
FREEKB
*END-EXEC
MOVE '..-...B........00068
' TO DFHEIV0
MOVE LENGTH OF PROCESS-COMMAND-MESSAGE TO DFHB0020
CALL 'DFHEI1' USING DFHEIV0 DFHDUMMY
PROCESS-COMMAND-MESSAGE DFHB0020
BLL=0002+000
1C
BLL=0003+000
0CL6
BLL=0003+000,0000000 6C
END-IF.
*
CICS, C9
Slide 9
PL SL
1
1
1
1
2.1.1
DFXXP00A
Date 02/20/2001
----+-*A-1-B--+----2----+----3----+----4----+----5----+----6----+----7-|--+----8
EVALUATE TRUE
Page
1
1
1
1
1
1
CICS, C9
Time 13:40:55
Slide 10
CICS, C9
1
1
1
1
1
1
1
1
Slide 11
PL SL
1
1
1
CICS, C9
1
1
1
1
1
2.1.1
DFXXP00A
Date 02/20/2001
Time 13:40:55
----+-*A-1-B--+----2----+----3----+----4----+----5----+----6----+----7-|--+----8
MOVE '........00107
' TO DFHEIV0
MOVE 'NOPGM1' TO DFHC0080
CALL 'DFHEI1' USING DFHEIV0 DFHC0080
Page
Slide 12
CICS, C9
1
1
1
1
MOVE '..-...B........00119
' TO DFHEIV0
MOVE LENGTH OF TERMINATION-MESSAGE TO DFHB0020
CALL 'DFHEI1' USING DFHEIV0 DFHDUMMY
TERMINATION-MESSAGE DFHB0020
*EXEC CICS
*
RETURN
*END-EXEC
1
1
MOVE '.........00124
' TO DFHEIV0
CALL 'DFHEI1' USING DFHEIV0
END-EVALUATE.
*EXEC CICS
*
RETURN TRANSID('DFXX')
*
COMMAREA(COMMUNICATION-AREA)
*END-EXEC.
MOVE '..\......00130
' TO DFHEIV0
MOVE 'DFXX' TO DFHC0040
MOVE LENGTH OF COMMUNICATION-AREA TO DFHB0020
CALL 'DFHEI1' USING DFHEIV0 DFHC0040 COMMUNICATION-AREA
DFHB0020.
Slide 13
2.1.1
DFXXP00A
Date 02/20/2001
Time 13:40:55
Page
CICS, C9
Slide 14
1
1
1
1
2 FILLER. . . . . . . .
2 FILLER. . . . . . . .
2 FILLER. . . . . . . .
2 FILLER. . . . . . . .
2 FILLER. . . . . . . .
2 FILLER. . . . . . . .
2 FILLER. . . . . . . .
2 FILLER. . . . . . . .
2 FILLER. . . . . . . .
2 FILLER. . . . . . . .
2 FILLER. . . . . . . .
2 FILLER. . . . . . . .
2 FILLER. . . . . . . .
2 FILLER. . . . . . . .
PROCESS-COMMAND-MESSAGE
2 FILLER. . . . . . . .
TERMINATION-MESSAGE . .
2 FILLER. . . . . . . .
COMMUNICATION-AREA. . .
DFHAID. . . . . . . . .
2 DFHNULL . . . . . . .
2 DFHENTER. . . . . . .
2 DFHCLEAR. . . . . . .
2 DFHCLRP . . . . . . .
2 DFHPEN. . . . . . . .
2 DFHOPID . . . . . . .
CICS, C9
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
BLW=0000
1D2
203
221
252
270
2A1
2BF
2F0
30E
33F
35D
38E
3DD
3FB
430
430
468
468
478
480
480
481
482
483
484
485
0
0
0
0
0
0
0
0
0
0
0
0
0
0
000
000
000
000
000
000
000
000
000
000
000
000
000
000
15A
18B
1A9
1DA
1F8
229
247
278
296
2C7
2E5
316
365
383
0 000 000
0 000 000
0
0
0
0
0
0
000
000
000
000
000
000
000
001
002
003
004
005
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
49C
30C
49C
30C
49C
30C
49C
30C
49C
30C
49C
79C
30C
49C
0CL49
49C
0CL9
9C
1C
0CL36
1C
1C
1C
1C
1C
1C
Display
Display
Display
Display
Display
Display
Display
Display
Display
Display
Display
Display
Display
Display
Group
Display
Group
Display
Display
Group
Display
Display
Display
Display
Display
Display
Slide 15
2.1.1
DFXXP00A
Date 02/20/2001
Time 13:40:55
Page
13
(LIT+0)
(LIT+32)
(LIT+64)
(LIT+96)
(LIT+128)
(LIT+160)
(LIT+192)
(LIT+224)
(LIT+256)
(LIT+288)
(LIT+320)
(LIT+352)
(LIT+384)
(LIT+416)
(LIT+448)
(LIT+480)
(LIT+512)
(LIT+544)
(LIT+576)
(LIT+608)
(LIT+640)
(LIT+672)
(LIT+704)
CICS, C9
FFFFFFFC
40C595A3
404DC4E2
D7C7D4C9
A2A28995
8583A389
9340C489
8597A389
85409695
40404040
00070000
000020F0
4040D3C4
9396A689
08000007
400E0480
C5C44081
C7D4F140
E2D9E3C3
00000000
00000000
00000000
31400000
00001000
859940A3
C9C4C5D9
C4C5D9D9
8740D481
969540C5
A5898485
96955D40
85409686
40401806
000005E2
F0F0F7F8
40E3C1C2
95874081
00001000
00070000
82859584
40C4C6E7
C4D5D6E2
00012800
00000000
00000000
000040C0
00000001
964085A7
D95D4040
5D404040
975D4040
A7838597
40C5A783
4040D799
C1C2C5D5
60000700
04000020
40404018
D3C540C4
82859584
F0F0F1F2
0200F0F0
8995874B
E7D7F0F0
C5E3F140
00000100
00000000
00000000
00014000
00000000
89A340A6
40404040
40404040
40404040
A389D7C6
D7C6F140
85A2A240
C440E3C5
C2000008
F0F0F0F9
06600007
C6C8C5C9
A27A0E08
F4404040
F1F0F740
C7969684
C1404040
D5D6D4C1
00012C00
00000080
00000040
08080000
00090064
89A38896
40404040
4040D7C6
D7C6F340
F2407E40
7E40C1E2
8140D7C6
E2E3C5D9
22040000
F9404040
00C20000
E3C1C240
E0000700
0602F000
4040C3D6
40C2A885
40404040
D7F14085
00000400
00000040
00000000
2C023102
03B40031
A4A3D7C6
D7C6F540
F4407E40
7E40C1E2
C1E2D9C1
D9C1404D
409285A8
40404040
20F0F0F1
18066000
08220400
F4F1F04B
001000F0
07000080
D4D4C1D5
4BD5D6C6
40E2E8E2
97A38996
00000000
00000000
25C00001
C0000808
D6994097
F6407E40
7E40C1C5
C1C2D4F0
D9C1404D
404DC485
C481A381
40A39640
40404040
F1F94040
0700C200
0020F0F0
40A38885
F0F1F3F0
00F0F0F1
C440C1C3
C9D3C540
D6E4E340
955D0000
00000000
00000000
C0000808
00002C02
9985A2A2
C1C5C9D3
C9D6404D
404DD489
D79996A3
83899481
40C5A783
86969983
40404040
401804F0
00082204
F0F6F840
40869693
4040400E
F1F24040
C3C5D7E3
40D5D6D7
40C9C7E9
10000C00
00000000
00000040
00002C02
31
|........................Or press|
| Enter to exit withoutPF6 = AEIL|
| (DSIDERR)
PF5 = AEIO (|
|PGMIDERR)
PF4 = ABM0 ( Mi|
|ssing Map)
PF3 = ASRA (Prot|
|ection ExceptiPF2 = ASRA (Decima|
|l Divide ExcPF1 = ASRA (Data Exc|
|eption)
Press a PF key to forc|
|e one ofABEND TESTER
|
|
..-...B ........00119
..0|
|.......S....00099
..-...B .....|
|...00078
..-...B ........00068 |
| LD TABLE DFHEITAB 410. the fol|
|lowing abends:.........00130
.|
|........ 00124
..0......00112 |
| .........00107
COMMAND ACCEPT|
|ED abending.Good Bye.NOFILE NOP|
|GM1 DFXXP00A
SYSOUT IGZ|
|SRTCDNOSET1 NOMAP1 eption)......|
|................................|
|................... ........... |
|............... ................|
|. .... ... ..................
|
Slide 16
HEXLOC VERB
0006C4 IF
0006EA CALL
00073E MOVE
00079A WHEN
0007B8 MULTIPLY
0007EC MOVE
000820 SET
000846 MOVE
000862 MOVE
0008C8 MOVE
000914 WHEN
00093C MOVE
0009AC MOVE
000A04 MOVE
000A4A MOVE
CICS, C9
LINE #
000198
000205
000214
000220
000224
000227
000231
000241
000244
000252
000261
000264
000274
000282
000293
HEXLOC VERB
0006D4 MOVE
00072C EVALUATE
00074E MOVE
0007AC MOVE
0007D4 WHEN
0007F2 DIVIDE
00082A MOVE
000856 MOVE
000868 CALL
0008D8 MOVE
000926 MOVE
000942 CALL
0009BC MOVE
000A14 CALL
000A50 MOVE
LINE #
000199
000207
000215
000221
000225
000229
000233
000242
000247
000253
000262
000267
000275
000291
000294
HEXLOC VERB
0006E4 MOVE
00072C WHEN
000754 CALL
0007B2 MOVE
0007E6 MOVE
00080E WHEN
000834 WHEN
00085C MOVE
0008B6 WHEN
0008DE CALL
000936 MOVE
000990 WHEN
0009C2 CALL
000A3A MOVE
000A56 CALL
Slide 17
Description
In single-screen mode, you run EDF and the program you want to
debug at the same terminal.
This is the technique youll use most often.
CICS, C9
Slide 18
Description
In dual-screen mode, you run EDF at one terminal and the program
you want to debug at the terminal you name when you start EDF.
You may want to use this technique to test a program at different
types of terminals.
CICS, C9
Slide 19
Description
You can use the CEDX trans-id to debug a program running at any
terminal thats started by the trans-id you specify.
You can use this technique to test a program thats not started from
a terminal, such as a business logic program whose presentation
logic runs outside the CICS environment.
CICS, C9
Slide 20
Screen 1
To start EDF in single-screen mode, enter CEDF. Then, enter the trans-id of the
program you want to debug. EDF displays the program initiation screen, which
shows information from the Execute Interface Block.
CICS, C9
Slide 21
Screen 2
To begin program execution, press the Enter key. Before the first CICS command is
issued, EDF displays the command (in this case, SEND TEXT) along with its options
and their values.
CICS, C9
Slide 22
Screen 3
To execute the SEND TEXT command, press the Enter key. In this case, because the
command produces terminal output, the output is displayed on the screen.
CICS, C9
Slide 23
Screen 4
To continue program execution after the terminal output is displayed, press the Enter
key. EDF will display the completion status of the command. In this case, the command
completed normally.
CICS, C9
Slide 24
Screen 5
Press the Enter key to continue program execution. The program will continue until
it encounters the next CICS command, in this case, RETURN.
CICS, C9
Slide 25
Screen 6
To execute the RETURN command, press the Enter key. Before the program ends,
EDF displays its program termination screen.
CICS, C9
Slide 26
Screen 7
To end the program, press the Enter key. Then, EDF displays the task termination
screen. To continue the EDF session after the task terminates, press the Enter key with
the REPLY field at its default value of YES.
CICS, C9
Slide 27
Screen 8
When the task terminates, the user screen is displayed again. Then, you can type data
into any entry fields and press the appropriate attention key to restart the program.
EDF responds by displaying the program initiation screen again.
CICS, C9
Slide 28
Screen 9
Press the Enter key to begin program execution. EDF displays the first CICS
command to be executed (SEND TEXT). Press the Enter key to execute the command,
and press it again when the SEND TEXT message is displayed on the screen.
CICS, C9
Slide 29
Screen 10
When the results of the SEND TEXT command are displayed, press the Enter key to
continue program execution. When the program abends, EDF displays a screen that
contains information about the abend.
CICS, C9
Slide 30
Screen 11
To display the contents of working storage, press PF5. Then, locate the fields whose
values you want to look up using information in the compiler listing.
CICS, C9
Slide 31
Screen 12
When youre done, press the Enter key to return to the abend screen, and press Enter
again to display the task termination screen. This time, type NO in the REPLY field,
then press the Enter key to end the EDF session.
CICS, C9
Slide 32