A fix is available
APAR status
Closed as program error.
Error description
When a COBOL V5+ programs calls a C/C++ programs indirectly (e.g. via assembler code or an IMS COBOL BMP/MPP), it may result in CEECAACRENT (CAA + x'1F4') being reset to zero. The current or consequent calls to a COBOL program might abend. The problem doesn't occur if the C/C++ programs are called directly via COBOL dynamic, static or DLL calls. The COBOL Runtime library will be improved to tolerate the case and try to restore CEECAACRENT to a correct address.
Local fix
Include CEESG003 in the bind (linkage) step. This ensures that both the COBOL and C/C++ members are initialized together at the beginning of the enclave. For example: //LKED.SYSLIN ... ... INCLUDE SYSLIB(CEESG003) ... //SYSLIB DD DSN=CEE.SCEELKED
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL V5 and later * * releases compiling programs with the RENT * * option and calling C/C++ programs * * indirectly. * **************************************************************** * PROBLEM DESCRIPTION: The COBOL program terminates with 0C4 * * abend, caused by the field CEECAACENT * * being zero. CEECAACENT is the field at * * offset x'1F4' of the LE CAA control * * block (CAA + x'1F4'). This field * * should not be zero when running * * programs compiled with the RENT option. * **************************************************************** * RECOMMENDATION: Apply the provided PTF. * **************************************************************** When COBOL V5 and later programs call C/C++ programs indirectly (e.g. via assembler code or other non-COBOL LE high-level language programs), runtime library processing in the mix language environment may reset the CEECAACENT field (CAA+x'1F4'). This may cause the current COBOL program, or subsequent programs, to abend. The problem doesn't occur if the C/C++ program is called directly using COBOL dynamic, static or DLL call statements. COB0501T/K COB0502T/K COB0601T/K COB0602T/K COB0603T/K
Problem conclusion
COBOL Runtime library has been enhanced to handle this case and restore CEECAARENT to the correct address.
Temporary fix
Comments
APAR Information
APAR number
PH21709
Reported component name
LE ENT COBOL LI
Reported component ID
568819812
Reported release
7C0
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2020-02-03
Closed date
2020-02-11
Last modified date
2021-07-23
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI67801 UI67819 UI67822
Modules/Macros
IGZCEV4 IGZLLIBV IGZXAPI IGZXCDA IGZXD24 IGZXDMR IGZXLPIO IGZXLPKA IGZXLPKB IGZXLPKC IGZXLPKD IGZXLPKE IGZXLPKF IGZXLPKG IGZXPK2
Fix information
Fixed component name
LE ENT COBOL LI
Fixed component ID
568819812
Applicable component levels
R7A0 PSY UI67801
UP20/02/22 P F002
R7B0 PSY UI67819
UP20/02/22 P F002
R7C0 PSY UI67822
UP20/02/22 P F002
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Line of Business":{"code":"LOB35","label":"Mainframe SW"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7C0"}]
Document Information
Modified date:
24 July 2021