A fix is available
APAR status
Closed as program error.
Error description
For various language constructs the COBOL compiler assumes maximum data item lengths at compile time, something that can't actually be done for items defined as OCCURS 1 TO UNBOUNDED, leading to erroneous outcomes. One known case is when using XML PARSE on (a reference modified) UNBOUNDED item. The maximum compile-time length of the XML-TEXT (XML-NTEXT) special register is presumed to be some multiple of the document size, but is calculated as 4 when the document is based on an UNBOUNDED item. Although LENGTH OF XML-TEXT returns the correct length of the parsed element at run-time, using FUNCTION NATIONAL-OF or DISPLAY-OF on XML-TEXT, which depend on the compile-time length to allocate a translation buffer, results in a translated value of only 4 characters. There are thought to be additional erroneous outcomes when using UNBOUNDED items.
Local fix
Avoid using OCCURS UNBOUNDED. In the case of a parse with RETURNING NATIONAL, the XML-NTEXT can be MOVEd to an appropriately sized PIC N() item before using FUNCTION DISPLAY-OF on the copy.
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL V6.2 with * * programs that have XML PARSE where the XML * * document is in a group that contains an * * UNBOUNDED table, and XML-NTEXT is * * referenced in an intrinsic function in the * * PROCESSING PROCEDURE for the XML PARSE * * statements. * **************************************************************** * PROBLEM DESCRIPTION: Incorrect output for FUNCTION * * DISPLAY-OF with XML-NTEXT as source * * and the XML PARSE statement is * * processing an UNBOUNDED data item. * **************************************************************** * RECOMMENDATION: Apply the provided PTF. * **************************************************************** The compiler was incorrectly calculating the buffer to pass to the conversion routine for DISPLAY-OF, which resulted in truncation of data.
Problem conclusion
The compiler was corrected to pass a large buffer to the conversion rout.
Temporary fix
Comments
APAR Information
APAR number
PH00612
Reported component name
ENT COBOL FOR Z
Reported component ID
5655EC600
Reported release
620
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2018-07-17
Closed date
2018-07-18
Last modified date
2018-10-02
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 IGYCLIBH IGYCLIBO IGYCLIBR IGYCLSTR IGYCLVL0 IGYCLVL1 IGYCLVL2 IGYCLVL3 IGYCLVL8 IGYCMALL IGYCOB2E 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 IGYQCBE IGYWIVP1 IGYWIVP2 IGYZQDRV IGYZQENU IGYZQJPN
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655EC600
Applicable component levels
R620 PSY UI58270
UP18/09/06 P F809
R621 PSY UI58271
UP18/10/02 P F809
R622 PSY UI57344
UP18/07/31 P F807
R62H PSY UI58273
UP18/09/06 P F809
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"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"620","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
12 December 2023