You are on page 1of 63

1.

SOC7
2. SOC7 2nd Ex
3. XREF
4. OFFSET
5. MAP
6. SSRANGE
7. Abending Pgm with User abend
8. User abend U3095
9. User abend U0016
10. U1056

- 2 to 13
- 14 to 30
- 32
- 38
- 39
- 41
- 42
- 43
- 50
- 56

Compile the abended pgm with following Compiler Options


PROCESS SSRANGE,XREF,MAP,OFFSET,FLAG(W,W)

Goto Compiled job KCB9BC10

Goto COB SYSPRINT -

Here, 1068 falls between 00FAC and 00111A. So, last executed statement will be
WRITE with address 00FAC.
Find this command by giving line no as 1204 which corresponds to Write stat with
address 000FAC as follows

Find this command from COBOL PGM -

If you go up this CPS-ELG-SUB-RECORD has copybook layout as METIts populated by IND- recs from individual file as follows

So, problem is with IND-SUB-FILE(IND-SUB-) which updates CPSELG file(MET-).


So, give Display MET-SSN after abended write statement
WRITE CPS-ELG-SUB-RECORD to know the successfully processed SSN. The next
SSN in the IND-file is the BAD DATA REC . Delete this rec and submit the job.

2nd EX for SOC7:

0029FA will be some where between 0029EA and 002A16. But, we have added
compilation option as PROCESS SSRANGE,XREF,MAP,OFFSET,FLAG(W,W),
so it will advance some address spaces from exact location. So, give display stats starting
from 5 to 10 address above.
So, exact stat last executed will be 0029EA i.e.,

O-REPORT-REC is populated from WS-NF10-TOTAL-REC-INV.


WS-NF10-TOTAL-REC-INV is populated from as

WS-NF10-PLAN-CD-TOT-I is the variable in group variable WS-NF10-TOTAL-RECINV.


WS-NF10-TOTAL-REC-INV is populated from WS-PREV-PLAN-CD as follows

WS-PREV-PLAN-CD is populated from CDPT42-NF-09-10-PLAN-CD as follows

CDPT42-NF-09-10-PLAN-CD is the working storage variable with copybook layout as


ITCDPT42 as follows

In copybook ITCDPT42 the field CDPT42-NF-09-10-PLAN-CD is the variable in the


group variable CDPT42-DATA as follows

So, display CDPT42-DATA in cobol pgm. In cobol pgm, CDPT42-DATA is populated


from input file I-NFEXTRAC-FL as follows

So, I-NFEXTRAC-FL is having bad data. We can find the bad record as follows --

Give Display stats before some stats as


Para C130 performs from -

So, I have given from some top stat as (#7,#8,#9,#10,#11)

Compiled after giving display and submitted unit testing job as follows

It executed till #8 line and abended after that with SOC7.

So, till #8 it executed and abended at address 0029FE i.e, in compiled code with
display stats as

After 0029CE Move stat, it abended with record as #8H NORTHWEST MED
BUREAU 938 938 12172010(from unit test job output). Delete this rec from input file
and submit the job.

XREF:

Here,
"M" preceding a data-name reference indicates that the data-name is modified by this
reference.
Defined
- line no for the data-name
Cross-reference of data-names name of the data-name
References
- in which lines in procedure division the data-name is
Used
Ex: 95 CPS-ELG-FILE . . . . . . . . . 36 39 1073 1296

95 - data-name

36 used in procedure division at this line

39 used in procedure division at this line

1073 used in procedure division at this line

1296 used in procedure division at this line

OFFSET: Procedure division stats with cross-references

MAP:

F11

SSRANGE:

Abending PGM with User Abend:


Procedure Division:
--------------------------OPEN I-O NHIST-FILE
EVALUATE TRUE
WHEN NOT WS-HIST-FL-ST-OPEN-OK
MOVE 'OPENING'
TO WS-ERR-ACTION
MOVE 'NHIST-FILE '
TO WS-ERR-FILE-NAME
MOVE WS-HIST-FILE-STATUS
TO WS-ERR-FILE-STATUS
MOVE SPACES
TO WS-ERR-FILE-KEY
SET C-FATAL-ERROR TO TRUE
DISPLAY WS-FATAL-ERROR-LINE
PERFORM Z9000-STATUS-ERROR-ABEND
WHEN OTHER
CONTINUE
END-EVALUATE
______________________________________________
Z9000-STATUS-ERROR-ABEND.
CLOSE
TABLE-FILE
NHIST-FILE
NEW-NMSP-FILE
NMSP-FILE-OUT.
MOVE +3095 TO WS-CEE3ABD-ABEND-CODE.
CALL 'CEE3ABD' USING WS-CEE3ABD-ABEND-CODE
WS-CEE3ABD-CLEANUP-FLAG.
EXIT.
_______________________________________________________
Working storage section:
---------------------------------05 WS-CEE3ABD-ABEND-CODE
PIC S9(9) COMP.
05 WS-CEE3ABD-CLEANUP-FLAG PIC S9(9) VALUE +1 COMP.
01 WS-FATAL-INFO.
05 WS-FATAL-ERROR-LINE.
10 FILLER
PIC X(026) VALUE
'FATAL ERROR OCCURED WHILE '.
10 WS-ERR-ACTION
PIC X(010).
10 FILLER
PIC X(009) VALUE
' ON FILE '.
10 WS-ERR-FILE-NAME
PIC X(015).
10 FILLER
PIC X(018) VALUE
' : FILE STATUS IS '.
10 WS-ERR-FILE-STATUS
PIC 9(002).
10 FILLER
PIC X(008) VALUE
' KEY IS '.
10 WS-ERR-FILE-KEY
PIC X(030).
05 WS-FATAL-ERROR
PIC 9(001) VALUE 0.
88 C-FATAL-ERROR
VALUE 1.

U3095

Here, file status code 23 means record not found in DEP HISTORY FILE.

So, Abended in pgm MEDID825, goto this pgm and search for the string ERROR ON
READ OF DEP HISTORY FILE (this string is displayed in the abended job last step)

So, in para C6200-LOAD-FROM-DEP-HISTORY it is abending. Give display for MEDKEY after MOVE stat and find the record.
Solution will be
1. deleting this record from the input file ME.PDLTR.MIP11479.ARCSORT(this
the input file(see below for how I got this file as input file) from which recoerd is
selected and searching for the matching rec in DEP HISTORY file, as the
matching rec not found in DEP HISTORY file, job is abended.)

Here, MED-* is populated from MET-* which is copybook for Subscriber file as

Para 211-BUILD_DATA is called from -

So, here we got the initial input file AR-FOR-COMBO rec.

U0016

Step PS20 (abended step) is SORT

If you goto PS20 sysout, we got as follow

Its a space abend, So increase the space for input file and restart.

In PS10 step it delete defining the file in controlcard CP.TEST.CNTRLIB(CPLEDITS) -

CP.TEST.CNTRLIB(CPLEDITS) will as

Increased space CYL as follows

And restarted the job from JS10 PS10.

User abend U1056:

Here, its unable to read table file. I just copied table file from TSTA and restarted.

You might also like