Page 6 of 6

Re: Urgent!! SOC4 reason code 4

PostPosted: Mon Jan 02, 2012 5:04 pm
by durga_r82
Atlast we identified the problem with the help from support using Dumpmaster tool

Here are the steps followed.

1. Using the option "All storage areas" in progB we identified the last address which had been overlaid with spaces which is 1606F0BD
2. We did a search above this storage address to identify where the first space was displayed which was at 16068AD5.
3. Then in the data division map of ProgA we searched to locate the address 16068AD5 which was in a variable as occurs (in 6662th occurence)
4. This variable references in ProgA and the compile listing is as below

MOVE LENGTH OF VAR-A TO VAR-A-LEN
===================
01 VAR-A. BLW=00073+6F0 0CL48602

The length of VAR-A has a maximum value of 48602, as seen above

===================
10 VAR-A-OCC PIC X(01)
OCCURS 1 TO 20500
DEPENDING ON VAR-A-LEN.
===================
PERFORM VARYING WS-INIT-ERR FROM 1 BY 1 UNTIL
WS-INIT-ERR > 32750
INITIALIZE ERR-REQ-RET-BYTE(WS-INIT-ERR)

END-PERFORM

We were trying to write into VB (max length 32750) and the length of VAR-A tries to access beyond that ; which was causing the problem.

Since this was just a log file we were trying to generate we didn't look at this very closely.
====================
5. It should have happened exactly here because of the below reason.

X' 1606F0BD' MINUS X'16068AD5' +6662 = 32750

Though VAR-A is as occurs 20500, if it is as VAR-A(32750) then it would existed in 1606F0BD (which is the address that is displayed during the abend) from the above calculation which is the end of the series of spaces that overlaid progB.

Thanks for all your help in resolving the issue. Special thanks to Billyboyo who suggested to get the first address where it was being overlaid with spaces.

Re: Urgent!! SOC4 reason code 4

PostPosted: Mon Jan 02, 2012 7:16 pm
by BillyBoyo
Very glad you got it. Thanks for letting us know.