Previous Topic: CICS Abend CodesNext Topic: ABP and INTE Abend Error Codes


Diagnostic Area

CA InterTest for CICS obtains the CA InterTest for CICS Diagnostic Area when it begins monitoring a program. CA InterTest for CICS keeps the area until the program finishes its execution in that task.

There is one such area per logical level of a monitored program, per task. This means that in most cases there is only one area. However, if you have a situation in which program A links to program B, which then links to program A again, the second use of program A necessitates a second CA InterTest for CICS Diagnostic Area for the same program.

The CA InterTest for CICS Diagnostic Area is in a User class of storage, on the task's storage chain; therefore, it is printed in the CICS transaction dump. In the dump, you can identify the CA InterTest for CICS Diagnostic Area by the characters InterTest for CICS at displacement 8 in the User Class storage area (hexadecimal 8C at displacement 0).

You should first look for a CA InterTest for CICS Diagnostic Area in any transaction dump and make sure that the area was obtained for the program in question. Whatever the reason for the dump, the only place you can find the registers and the most recent instruction is in that area. If more than one area exists for the program, the one with the highest value in the WKACLOCK field (displacement 0260, hexadecimal) is the most recent one.

The following table provides an Assembler‑like description of the fields in the CA InterTest for CICS Diagnostic Area that are used in debugging. The displacement of each field is given in hexadecimal on the left.

Release 4.x / 5.x

Field

Type

Description

0000

WKAREA

DSECT

 

0000

WKSAA

DS 8X

Storage Accounting Area (contains X'8C' in the first byte)

0008

WK1D1

DS CL9

If the 'InterTest' identifier is corrupted, the area is not valid

0011

WKTASK#

DS PL3

Task identification number

0014

WKTRANS

DS CL4

Transaction identification

0018

WKPGMID

DS CL8

Program identification

0020

WKTERM

DS CL4

Terminal identification

0024

WKDATE

DS PL4

Date

0028

WKTIME

DS PL4

Time

002C

WKMESG

DS 0H

Abbreviated error message; occurs when an INTE abend was issued instead of an automatic breakpoint

002C

 

WKERCODE

 

DS C' XX'

 

Error code, hexadecimal
If you requested an abend when the task was at breakpoint, this code will be 00. Also, see displacement 0248.

 

0030

WKERTEXT

DS C'INTE

C'INTE ABEND AT '

003E

WKERDSPL

DS C' XXXX.'

Displacement, at the abend request, of the instruction to be executed

0044

WKINSR

DS CL6

Instruction about to be executed

004C

WKINSRAD

DS XL4

Address of the instruction in WKINSR

0050

WKTODO

DS CL6

Instruction to be executed, if the instruction in WKINSR is an EX (execute) instruction

0058

WKTODOIA

DS F

Address of instruction in WKTODO

005C

WKTODOAD

DS F

Address of storage area to be affected

0060

HISWKSAV

DS CL64

Registers 0 – 15; values of the registers shown before execution of the instruction in WKINSR. This is the best place to look for values in the registers, even if the abend was not issued by CA InterTest for CICS.

00A0

WKWITHIN

DS CL256

Area surrounding the address that is about to be affected by the instruction in WKINSR; valid only if the error code is not zero and an IN25 abend occurs.

01A0

MYSAVE

DS CL64

Internal CA InterTest for CICS Save Register Area

01E0

CURHISP

DS F

Address of the current instruction

01E4

NEXHISP

DS F

Address of the next instruction

01E8

CONDCODE

DS F

Condition code of application program. The condition code is saved in the left‑most byte of this field, in the same format as in the PSW.

01EC

HISBEG

DS F

Beginning of monitored program

01F0/Not available

WKACPPTE

DS F

PPT entry of PGM in control

0204/254

WKPROMHD

DS F

Address of Monitoring Table header

0208/258

WKADSOCB

DS F

Pointer to active ADS OCB

0214/264

WKPROMPT

DS F

Address of Monitoring Table entry being used for monitoring

0218/268

WKARNEXT

DS F

Next IN25 WKAR

021C/26C

WKARPREV

DS F

Previous IN25 WKAR

022C/274

WKPROMAI

DS F

Pointer to Main PROM Table Entry

0244/290

XTENTABA

DS F

Address of backtrace table that records extents, or pieces of code executed sequentially with no branch instructions taken, of the monitored program

0248/294

 

ADSMSLT1

 

DS C'ABP XX'

 

Secondary error or breakpoint message; XX is the CA InterTest for CICS error code. If task abended on your request from an automatic breakpoint, the ABP error code, displacement, and address are found here. Instead of 'ABP XX', the message could say 'UBP XX' where XX is the ID number of the unconditional breakpoint.

 

024F/29B

ADSMSDSP

DS C'XXXX'

Displacement

0253/29F

DS

C' '

 

0254/2A0

ADSMSADR

DS C'XXXXXX'

Address

025A/2A6

DS

C' '

Contains the reason for a breakpoint if the task abended with a dump after a breakpoint