IBM Support

PH30657: COBOL 5+ uses only the 9 low order digits of a USAGE DISPLAY VSAM relative record key for AMODE64

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The largest possible relative record number is 4294967295 (4G)
    which has 10 digits. When doing file positioning with the START
    statement, the COBOL 5+ runtime converts a PIC 9(>9) USAGE
    DISPLAY relative record key to binary for the access method, but
    erroneously uses only the low order 9 digits. This can result in
    the subsequent READ returning the wrong record in large files.
    

Local fix

  • Use a binary (PIC 9(9) COMP-5) relative record key, and move the
    PIC 9(>9) item into it before the START statement.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL 6.3 or later       *
    *                 releases running AMODE 64 programs that      *
    *                 read VSAM RRDS(Relative Record Data set),    *
    *                 using Relative Record Number(RRN) whose      *
    *                 type is a ZONED DECIMAL data item.           *
    ****************************************************************
    * PROBLEM DESCRIPTION: An incorrect record is read by the      *
    *                      specified RRN.                          *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    ****************************************************************
    When the RRN is specified by a data item of ZONED DECIMAL
    in the RELATIVE KEY IS clause, and the RRN value is more
    than 9 digits, only the last 9 digits of the value are
    used during VSAM RRDS processing.
    
    For example, given the following snippets,
    only 234567890 in WS-KEY as opposed to 1234567890
    is used during the START processing.
    
     SELECT RAWDATA-DD
     ASSIGN TO RAWDATA
     ORGANIZATION IS RELATIVE
     ACCESS MODE IS DYNAMIC
     RELATIVE KEY IS WS-KEY
     ...
    
     01 WS-KEY PIC 9(11).
    
     PROCEDURE DIVISION.
     ...
     MOVE 01234567890 TO WS-KEY
     START RAWDATA-DD KEY IS EQUAL TO WS-KEY
     ...
     READ RAWDATA-DD.
    
     COB0603T/K
    

Problem conclusion

  • COBOL Runtime incorrectly truncated a RRN value during
    VSAM processing. COBOL Runtime has been corrected to address
    the problem.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH30657

  • Reported component name

    LE ENT COBOL LI

  • Reported component ID

    568819812

  • Reported release

    7C0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-10-16

  • Closed date

    2020-11-24

  • Last modified date

    2020-12-01

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Modules/Macros

  • CELQSG04 CELQV004 IGZQAPI  IGZQCDA  IGZQINPL
    

Fix information

  • Fixed component name

    LE ENT COBOL LI

  • Fixed component ID

    568819812

Applicable component levels

  • R7B0 PSY UI72751

       UP20/11/28 P F011

  • R7C0 PSY UI72752

       UP20/11/28 P F011

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.

[{"Line of Business":{"code":"LOB17","label":"Mainframe TPS"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7C0"}]

Document Information

Modified date:
02 December 2020