CICS Error Code AIEV,IBM AEIV due to length error of COMMAREA on EXEC CICS LINK command

Problem(Abstract)

You have a modified Node Error Program, DFHZNEP, that issues an EXEC CICS LINK command to another application. This program has worked for many years until upgrading to z/OS 1.8. Now, the program abends with abend code AEIV indicating that there is a length error (LENGERR).

Cause

EXEC CICS LINK command has LENGTH parameter coded incorrectly.

Diagnosing the problem

Your Link command is coded similar to the following:

EXEC CICS LINK PROGRAM('SSCCERR')

COMMAREA(NEPCABEG)
LENGTH(NEPCALEN)

NEPCALEN is defined using the DFHNEPCA macro as an equate:


NEPCALEN EQU *-NEPCABEG


Thus, NEPCALEN is equated to a full word binary value of x'0000009E', causing the length value to be picked up at location x'9E'. The CICS Translator loads the address of the equated field into the parameter list, and this actually yields an address of x'0000009E'.


Prior to upgrading to z/OS V1.8, location x'9E' either contained a half word of zeros or a half word value not having the left most bit turned on. After upgrading, this storage contains a half word value with the left most bit turned on, thus thought to be a negative value. The negative value causes LENGERR and abendAEIV. 


Source :IBM

4 comments:

Please Provide your feedback here