A COBOL 5.2 program abends with an AEXZ abend when being monitored by CA Intertest CICS.

Document ID : KB000123211
Last Modified Date : 19/12/2018
Show Technical Document Details
Issue:
​The client just upgraded from COBOL 4.2 to COBOL 5.2.The client set several breakpoint in the COBOL 5.2 program. When the client executes the program they do not receive any breakpoints and they abend with an AEXZ abend.
Environment:
Z/OS 
CICS
Cause:

​The cause of the problem is how the compile JCL was coded. In COBOL 5.2 the compile step is a DD statement for SYSMDECK.

IBM states that the SYSMDECK must point to a data set.


EXEC PGM=IGYCRCTL
//SYSMDECK  

The client coded DUMMY for the SYSMDECK 
//SYSMDECK DD DUMMY 

In the JCL allocation step you can see the SYSMDECK is not pointing to a data set when it is coded DUMMY
EF237I DMY ALLOCATED TO SYSMDECK 

The client did not use the sample JCL shipped with CA Intertest for CICS. They had their own custom JCL.
Resolution:
​The cause of the problem is how the compile JCL was coded. In COBOL 5.2 the compile step is a DD statement for SYSMDECK.

EXEC PGM=IGYCRCTL
//SYSMDECK  

Ther client coded 
//SYSMDECK DD DUMMY 

In the JCL allocation step you can see the SYSMDECK is not pointing to a data set when it is coded DUMMY
EF237I DMY ALLOCATED TO SYSMDECK 

The client did not use the sample JCL shipped with CA Intertest for CICS. They had their own custom JCL.



The SYSMDECK DD statement must point to a data set for example

//SYSMDECK DD UNIT=SYSDA,SPACE=(TRK,(9,9)) 

You will see in the compile output the SYSMDECK gets allocated to a TEMP file when SYSDA as shjown below 

IGD101I SMS ALLOCATED TO DDNAME (SYSMDECK) 
DSN (SYS18351.T155236.RA000.PROGRAMNAME.R0440066 

A Sample COBOL 5.2 PROC is shipped with CA Intertest CICS PDS HLQ.CAVHPROC(CABACOB5)

For more on the SYSMDECK DD​ statement​ please view this  link.
The SYSMDECK data set is required for all compilations. If you specify the MDECK compiler option, the SYSMDECK DD allocation must specify a permanent data set. However, if you use the NOMDECK option, SYSMDECK can be specified as a utility (temporary) data set. 

//SYSMDECK DD DSNAME=dsname,UNIT=SYSDACopy 
The SYSMDECK file will contain a copy of the updated input source after library processing, that is, the result of COPY, BASIS, REPLACE, EXEC SQL INCLUDE, and EXEC SQLIMS INCLUDE statements. The file can be a traditional MVS™ data set or a z/OS® UNIX file. 

RELATED REFERENCES 
MDECK