A fix is available
APAR status
Closed as new function.
Error description
Throw a Java exception (instead of stopping the run unit as currently occurs) when there is a length mismatch between the Java array and the corresponding COBOL data item.
Local fix
N/A
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL 6.4 running * * programs that use non-OO COBOL/Java * * interoperability support and there is an * * array length mismatch between a Java array * * argument or return value and the * * corresponding COBOL parameter or receiver. * **************************************************************** * PROBLEM DESCRIPTION: Failure to catch the error at runtime, * * leading to unpredictable runtime * * results. * **************************************************************** * RECOMMENDATION: Ensure that there are no mismatches in the * * length of Java array * * arguments or return values and the * * corresponding COBOL table * * parameter or receiver. * **************************************************************** Array length mismatches between COBOL and Java arguments or return values was being handled through error codes passed between the COBOL program and the COBOL runtime, but that scheme was not sufficient in some scenarios, including a scenario where the new ON EXCEPTION phrase of a CALL statement for a call to a static Java method is used.
Problem conclusion
The runtime was updated so that when a mismatch between the length of a Java array argument or return value and the corresponding COBOL table parameter or receiver occurs, an exception of class java.lang.IllegalArgumentException is thrown, which can be caught and handled in COBOL via the ON EXCEPTION phrase of a CALL statement for a CALL to a static Java method, or can be handled in Java code using try/catch. Note that a program must be compiled with an Enterprise COBOL 6.4 compiler with the PTF(s) for APAR PH53631 installed in order to use the ON EXCEPTION phrase of a CALL statement targeting a Java method in order to catch and process Java exceptions.
Temporary fix
Comments
APAR Information
APAR number
PH53634
Reported component name
LE ENT COBOL LI
Reported component ID
568819812
Reported release
7D0
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
YesSpecatt / New Function / Xsystem
Submitted date
2023-03-30
Closed date
2023-04-11
Last modified date
2023-05-03
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
IGZCEV4 IGZCJNI2 IGZLLIBV IGZXAPI IGZXCA31 IGZXCDA IGZXD24 IGZXDIVZ IGZXDMR IGZXJNI2 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
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.
[{"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":"7D0","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
03 May 2023