Fixes are available
APAR status
Closed as program error.
Error description
When an EGL program that uses a dynamic array is compiled with cobol option trunc(std), the routine to calculate the dynamic array record address was dropping part of the address when the array was located above 1,000,000,000 decimal (3B9ACA00 in hex). This leads to an 0C4 abend when the record is accessed as the address is wrong.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: * * Users that have dynamic arrays, that are also using * * trunc(std) or trunc(opt) and are running with memory from * * the address space above location 3B9ACA00 * **************************************************************** * PROBLEM DESCRIPTION: * * An 0C4 abend can happen if the program uses dynamic arrays * * and was compiled with trunc(std) or trunc(opt). Users that * * compiled with trunc(bin) are not affected. The problem is * * that the pointer arithmetic calculation was made using a * * variable defined as 9(9) comp-4, which will truncate the top * * digit, if the address is 1,000,000,000 or higher. This value * * is hex 3B9ACA00. * **************************************************************** * RECOMMENDATION: * ****************************************************************
Problem conclusion
The software was updated to define the variable used in the dynamic array pointer calculation to be 9(9) comp-5 instead. The usage of comp-5 forces the compiler to use all of the digits, without truncation.
Temporary fix
Comments
APAR Information
APAR number
PI49906
Reported component name
RATL BUS DEV
Reported component ID
5724S5000
Reported release
911
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2015-10-05
Closed date
2016-04-05
Last modified date
2016-04-05
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
RATL BUS DEV
Fixed component ID
5724S5000
Applicable component levels
R901 PSY
UP
R911 PSY
UP
R950 PSY
UP
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSMQ79","label":"Rational Business Developer"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.1.1","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
17 October 2021