A fix is available
APAR status
Closed as program error.
Error description
Vendor software requires the ability to determine the start of User defined Working Storage in a COBOL V5 program for IMS Restars. With the introduction of COBOL V5, this location is no longer defined in the load module produced by the COBOL Compiler.
Local fix
Compile using NOSTGOPT
Problem summary
**************************************************************** * USERS AFFECTED: Third-party vendors supporting COBOL V5.2 * * and later and wanting to inspect a program * * object to find the address of the first * * user-defined data item in WORKING-STORAGE, * * the total length of the user-defined data * * items in WORKING-STORAGE, and/or an * * indication of whether a COBOL program uses * * any EXTERNAL data items. * * * * * **************************************************************** * PROBLEM DESCRIPTION: Missing information in program object: * * There was no way, by looking at a * * program object, to determine the * * address of the first user-defined data * * item in WORKING-STORAGE, the total * * length of the user-defined data items * * in WORKING-STORAGE, or an indication * * of whether a COBOL program uses any * * EXTERN data items. * * * * * **************************************************************** * RECOMMENDATION: Apply the provided PTF. * * * **************************************************************** There were several pieces of information missing from the PPA control blocks in the program object for COBOL V5+ programs. In particular, the address of the first user-defined data item in WORKING-STORAGE, the total length of the user-defined data items in WORKING-STORAGE, and an indication of whether a COBOL program used any EXTERNAL data items.
Problem conclusion
The compiler was changed to place the address of the first user-defined data item in WORKING-STORAGE, the total length of the user-defined data items in WORKING-STORAGE, and an indication of whether a COBOL program used any EXTERNAL data items into control block PPA4 in the program object. The Programming Guide will be changed as follows to describe the new fields appended to PPA4. (The fields below should be appended to the example PPA4). 008372 00000090 =X'90' Offset UsrWrkStrg 008376 0000000B =X'B' Length UsrWrkStrg 00837A 00 =X'0' Has EXTERNAL data items The z/OS Language Environment Vendor Interfaces guide will be changed as follows to describe the new fields appended to PPA4. I'm really not sure how to do things here, because there's some variable data. At offset x'28', there's the offset from PPA4 to the code csect name, prefixed with a length. If this doesn't exist, the three new fields above will follow x'28' (e.g. "Offset UsrWrkStrg" lies at x'2A'). If the name does exist, the compiler puts the name immediately following its address (so x'2A' would be the two-byte length of the name, and some number of bytes from x'2C' on wards would be the name itself), and then the three new fields immediately follow the end of the name. Here are the three new fields: X'xx' 4 Offset of the first user-defined data item in WORKING-STORAGE, relative to the address of the static map or working-storage map in Enterprise COBOL V6.1, or the static map or WSA 24 map in Enterprise COBOL V5.2, depending on the RENT and RMODE compiler options. X'yy' 4 Total length of all user-defined data items in WORKING-STORAGE. X'zz' 1 A flag to indicate whether or not the COBOL program has EXTERN data items. A value of 1 indicates that there are EXTERN items; a value of 0 indicates that there are not.
Temporary fix
Comments
APAR Information
APAR number
PI75850
Reported component name
ENT COBOL FOR Z
Reported component ID
5655W3200
Reported release
520
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2017-02-01
Closed date
2017-03-22
Last modified date
2017-04-10
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
PI76232 PI79744
Modules/Macros
IGYCBE
SC14738201 |
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655W3200
Applicable component levels
R520 PSY UI45765
UP17/03/31 P F703
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":"520","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":"520","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
10 April 2017