IBM Support

PI75850: CBL V5 COMPILER NEEDS POINTER TO START OF USER WS

A fix is available

Subscribe

You can track all active APARs for this component.

 

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
    

Publications Referenced
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