A fix is available
APAR status
Closed as program error.
Error description
The problems fixed are: - Fixed problem with blank lines in the "methods" input file of the cjbuild utility causing the utility to hang - Fixed problem with Java programs not being able to correctly access the data in COBOL ODO tables shared with Java - Fixed problem with data items defined with PIC X/U DYNAMIC not being ignored by the JAVA-SHAREABLE directive - Fixed compile problem resulting from programs with the JAVA-CALLABLE directive having parameters with hyphens in their name
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL 6.4 building and * * running programs that use non-OO COBOL/Java * * interoperability support and at least one of * * the following conditions is true: * * * * 1. the "methods" input file for cjbuild * * contains blank lines * * * * 2. the JAVA-SHAREABLE directive is used to * * share with Java a table defined with the * * OCCURS DEPENDING ON clause (also known as an * * ODO table) * * * * 3. a data item defined with PIC X/U DYNAMIC * * falls under the scope of a JAVA-SHAREABLE * * directive * * * * 4. A parameter of a program with the * * JAVA-CALLABLE directive contains a hyphen * **************************************************************** * PROBLEM DESCRIPTION: 1. the cjbuild utility hangs * * * * 2. under certain conditions, the * * provided Java accessor class will not * * access the correct part of the ODO * * table leading to incorrect results * * * * 3. a Java error such as the following * * will occur when accessing the data * * item: * * * * Exception in thread "main" * * java.nio.BufferOverflowException * * at java.base/java.nio. * * DirectByteBuffer.put ( * * DirectByteBuffer. java:414) * * : * * * * 4. Error when running cjbuild: * * * * # Building java program: ./progs.java * * /usr/1pp/Java/11.0_64/bin/javac -d * * ./class -cp ./class ./progs.java * * # Command return code 1: * * -/progs.java:22: error: ,", *)", * * or '[" expected * * * * public native static void MYCOB( * * byte[] XXXXXX-TABLE); * * * * 1 error * **************************************************************** * RECOMMENDATION: Install the IBM-provided PTF * **************************************************************** 1. The cjbuild utility was mishandling blank lines when loading the methods file contents into memory. 2. The compiler was not always correctly handling ODO tables shared with Java, particularly in cases where the ODO table was nested in other tables. 3. Data items defined with PIC X/U DYNAMIC were not being properly ignored when falling under the scope of a JAVA-SHAREABLE directive. 4. The interoperability framework typically converts hyphens in COBOL names to underscores in Java but was not doing so correctly for the parameters of programs that contain the JAVA-CALLABLE directive.
Problem conclusion
The cjbuild utility was updated to correct the mishandling of blank lines in the methods file. The compiler was updated to (i) correct data access issues with ODO tables that fall under the scope of a JAVA-SHAREABLE directive, (ii) ignore data items defined with PIC X/U DYNAMIC that fall under the scope of a JAVA-SHAREABLE directive, and (iii) support parameter names with hyphens in programs that contain the JAVA-CALLABLE directive.
Temporary fix
Comments
×**** PE23/11/14 FIX IN ERROR. SEE APAR PH58188 FOR DESCRIPTION ×**** PE23/11/14 FIX IN ERROR. SEE APAR PH58188 FOR DESCRIPTION
APAR Information
APAR number
PH56146
Reported component name
ENT COBOL FOR Z
Reported component ID
5655EC600
Reported release
640
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2023-08-01
Closed date
2023-08-25
Last modified date
2023-12-08
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI93309 UI93310 UI93311 UI93312
Modules/Macros
IGY8RWTU IGYCASMB IGYCCBE IGYCCCRT IGYCCICS IGYCCSRV IGYCDGEN IGYCDIAG IGYCDMAP IGYCEN$0 IGYCEN$1 IGYCEN$2 IGYCEN$3 IGYCEN$4 IGYCEN$5 IGYCEN$8 IGYCEN$D IGYCEN$R IGYCFGEN IGYCFREE IGYCINIT IGYCJA$0 IGYCJA$1 IGYCJA$2 IGYCJA$3 IGYCJA$4 IGYCJA$5 IGYCJA$8 IGYCJA$D IGYCJA$R IGYCJBLD IGYCJGEN IGYCLIBR IGYCLSTR IGYCLVL0 IGYCLVL1 IGYCLVL2 IGYCLVL3 IGYCLVL8 IGYCMALL IGYCOB2 IGYCOSCN IGYCPGEN IGYCRCTL IGYCRDPR IGYCRDSC IGYCREAL IGYCRWT IGYCSCAN IGYCSIMD IGYCUE$0 IGYCUE$1 IGYCUE$2 IGYCUE$3 IGYCUE$4 IGYCUE$5 IGYCUE$8 IGYCUE$D IGYCUE$R IGYCXREF IGYDRV IGYEQCWI IGYMSGE IGYMSGK IGYMSGT IGYQCBE IGYQSPLT IGYZQEN6 IGYZQENU IGYZQJP6 IGYZQJPN
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655EC600
Applicable component levels
R640 PSY UI93309
UP23/08/31 P F308
R641 PSY UI93310
UP23/08/31 P F308
R642 PSY UI93311
UP23/08/31 P F308
R64H PSY UI93312
UP23/08/31 P F308
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":"640","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
08 December 2023