A fix is available
APAR status
Closed as program error.
Error description
The use of SSRANGE can incorrectly generate the IGZ0072S message and a U4038 abend at runtime when OCCURS DEPENDING ON is used, the object is not outside the bounds of the table, and SET ADDRESS OF is involved. This problem occurs at all OPT levels. Sample Source Code: ****** ***************************** Top of Data *************** 000400 WORKING-STORAGE SECTION. 000500 01 P POINTER. 000600 000700 LINKAGE SECTION. 000800 01 INPUT-PARM-AREA. 000900 05 TEST-LEN PIC S9(4) COMP-5. 001000 05 TEST-DAT. 001100 10 PIC X OCCURS 1 TO 100 DEPENDING ON TEST-LEN. 001200 01 X PIC X. 001300 001400 PROCEDURE DIVISION USING INPUT-PARM-AREA. Note: INPUT=PARM-AREA='TESTING' (7 characters in length). 001500 * DISPLAY TEST-DAT (TEST-LEN:1) Note: Uncommenting the line above allows program to execute successfully with SSRANGE. Without it, a failure occurs at line 001600. 001600 SET P TO ADDRESS OF TEST-DAT (TEST-LEN:1) 001700 SET ADDRESS OF X TO P 001800 DISPLAY X 001900 GOBACK. 002000 END PROGRAM SSRANTST. ****** **************************** Bottom of Data ************* Sample Error That is Incorrectly Generated: IGZ0072S A reference modification start position value of 7 on line 001600 referenced an area outside the region of data item TEST-DAT.
Local fix
The problem can be resolved, allowing the program to execute correctly, using 2 methods: 1) Use NOSSRANGE 2) Add a DISPLAY statement (line 1500 in the source code example in the "Problem Description") in front of the SET ADDRESS OF statement that is generating the abend.
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL V5.1 compiling * * and running programs using the SSRANGE * * compiler option, where the programs have a * * SET statement setting a pointer TO ADDRESS * * OF a reference-modified LINKAGE SECTION * * item that is also variable-length data item. * * * **************************************************************** * PROBLEM DESCRIPTION: Incorrect run-time message: * * In some cases when using SSRANGE on a * * SET statement setting a pointer TO * * ADDRESS OF a reference-modified * * LINKAGE SECTION item that is also a * * variable-length data item, the * * following run time SSRANGE, out of * * bounds message is issued even if the * * reference-modification does not go * * beyond the range of the * * variable-length data item: IGZ0072S A * * reference modification start position * * value of 7 on line 000016 referenced * * an area outside the region of data * * item xxxxxxxx. * * * **************************************************************** * RECOMMENDATION: Apply the provided PTF. * * * **************************************************************** When using SSRANGE on a SET statement setting a pointer TO ADDRESS OF a reference-modified LINKAGE SECTION item that is also a variable-length data item the compiler generated incorrect instructions that resulted in the incorrect generation of the SSRANGE error message at run time.
Problem conclusion
The compiler was modified to generate code reflecting the correct conditions for generating the SSRANGE out of bound runtime message.
Temporary fix
Comments
APAR Information
APAR number
PI67254
Reported component name
ENT COBOL FOR Z
Reported component ID
5655W3200
Reported release
510
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2016-08-09
Closed date
2016-08-19
Last modified date
2016-09-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
IGYECNTL
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655W3200
Applicable component levels
R510 PSY UI40241
UP16/08/25 P F608
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":"510","Edition":"","Line of Business":{"code":"LOB17","label":"Mainframe TPS"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"510","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
02 September 2016