A fix is available
APAR status
Closed as program error.
Error description
Use of HIGH-VALUES with fixed byte-length UTF-8 items may produce incorrect results for moves/compares
Local fix
BYPASS/CIRCUMVENTION: None
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL 6.3 and later * * releases running programs * * that contain move and/or compare * * operations involving the HIGH-VALUES * * figurative constant and a fixed byte-length * * UTF-8 data item with a byte length that is * * not a multiple of 4 bytes. * **************************************************************** * PROBLEM DESCRIPTION: Incorrect result for move and compare * * operations. * * * * When HIGH-VALUES is moved into a fixed * * byte-length UTF-8 data item having a * * length that is not a multiple of 4 * * bytes, the UTF-8 receiver will * * not technically contain the highest * * collating UTF-8 string possible of that * * byte-length, as any trailing * * bytes that cannot contain the full * * 4-byte encoding of HIGH-VALUES will * * be filled with UTF-8 spaces instead of * * the highest collating 1, 2 or 3 byte * * UTF-8 sequence. * * * * A similar problem occurs when * * comparing HIGH-VALUES against a fixed * * byte-length UTF-8 data item that * * has a length that is not a multiple * * of 4 bytes. When comparing against * * the final 1, 2 or 3 bytes in the * * data item, UTF-8 spaces are used * * instead of the highest collating * * 1, 2, or 3 byte UTF-8 sequence. * **************************************************************** * RECOMMENDATION: Apply the PTF * **************************************************************** When a fixed byte-length UTF-8 data item has a length not evenly divisible by 4, the excess bytes at the end of the string were being filled with UTF-8 spaces instead of the largest UTF-8 value corresponding to that number of bytes.
Problem conclusion
The runtime and compiler have been updated to bring values in line with UTF-8 standards. Any remainder bytes of a fixed byte length UTF-8 item are set to the encoding of the highest possible code point appropriate for that number of remaining bytes.
Temporary fix
Comments
APAR Information
APAR number
PH47577
Reported component name
ENT COBOL FOR Z
Reported component ID
5655EC600
Reported release
630
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2022-06-28
Closed date
2022-07-22
Last modified date
2022-08-12
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
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 IGYCLIBR IGYCLSTR IGYCLVL0 IGYCLVL1 IGYCLVL2 IGYCLVL3 IGYCLVL8 IGYCMALL IGYCOPI 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 IGYQCB IGYQCBE IGYQCBG IGYQSPLT IGYTCARA IGYTSALE IGYZQEN6 IGYZQENU IGYZQJP6 IGYZQJPN
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655EC600
Applicable component levels
R630 PSY UI81630
UP22/07/29 P F207
R631 PSY UI81631
UP22/07/29 P F207
R632 PSY UI81632
UP22/07/29 P F207
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":"630","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
12 December 2023