I am sharing two useful methods to track CICS production abends.
How to determine the cause of an abend?
- Locate the correct dump in the dump listing. TASK=xxxx in the dump heading indicates the trans-id for the bending task. DATE= and TIME= in the dump heading indicate the date and time of the abend.
- Note the abend code in the dump heading.
- For ASRA abends, determine the type of program check by looking at the last hex character of the third full word in the PSW. The PSW program check codes are summarized on the previous page.
- Note the program name that appears at the end of the SYMPTOMS line.
ESDS files are popular in CICS. Read now why.
How to find program entry that causes abend?
- Determine the program entry point by locating the program in the module map near the end of the dump.
- Determine the interrupt address, which is the second fullword of the PSW.
Determine the instruction offset by subtracting the program entry point from the interrupt address.
- Use the Condensed Procedure Listing in the compiler output to determine which COBOL statement caused the abend.
- Find the statement whose offset is closest to the result of step 3 without exceeding it. (The OFFSET option must be specified at compile time for the Condensed Procedure Listing to be printed.)