IBM Support

4038 and CEE3191E when running a CICS program below the line

Troubleshooting


Problem

You receive an abend 4038 and message CEE3191E when running a program below the line in CICS Transaction Server for z/OS (CICS TS). A COBOL application running above the line is dynamically calling an assembler program that is running below the line. Whenever the call is made, the abend U4038 occurs.

Cause

There is a mismatch in the Language Environment (LE) runtime options. ALL31 is OFF and STACK is set to ANYWHERE.

Resolving The Problem

U4038 is a generic abend code issued when no dump is requested. If the underlying reason for the U4038 was indeed the mismatch noted in CEE3191E then the recommendation in the message to "Specify run-time options ALL31(OFF) and STACK(,,BELOW) for AMODE 24 operation" should be followed. If there was some other exception underlying the abend that pointed to the ALL31 and stack settings being inconsistent, then those should be aligned in accordance with the needs of the application.

If an AMODE31 program dynamically calls an AMODE24 program then the AMODE24 program should be linked with a CEEUOPT that specifies the ALL31(OFF) and STACK(BELOW). This will set the options at the application level. The application compile time options will override the system and CICS region default options. LE ships with a system default of AMODE31 and STACK(ANY).

[{"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"LE","Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"4.1;4.2;5.1;5.2;5.3","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Product Synonym

CICS/ESA CICS ESA CICS/TS CICS TS CICS Transaction Server

Document Information

Modified date:
15 June 2018

UID

swg21195872