IBM Support

PI85868: FILE STATUS 97 BEHAVES DIFFERENTLY UNDER COBOL V5.2

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • With COBOL V4.2, File Status 97 was treated as file status 00
    (or 97 was accepted as valid), and program moved on.  However,
    with V5.2, after the File Status 97, the Error Declarative is
    entered.
    

Local fix

  • Use COBOL V6.1 and VSAMOPENFS compiler option
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V5.2 compiling     *
    *                 and running programs that use VSAM files     *
    *                 and get File Status 97 at OPEN.              *
    *                                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: Incorrect Runtime results/Migration     *
    *                      problem:                                *
    *                      According to the ANSI/ISO ('85, earlier *
    *                      and later) Standards, a "9x"            *
    *                      implementor defined status code SHOULD  *
    *                      indicate an UNSUCCESSFUL I/O statement. *
    *                      However, the existing "97" status code  *
    *                      is treated (by IBM) as successful.      *
    *                                                              *
    ****************************************************************
    * RECOMMENDATION: Install the provided PTFs and use the        *
    *                 VSAMOPENFS compiler option, as appropriate.  *
    *                                                              *
    ****************************************************************
    With Enterprise COBOL V4.2, FS 97 was treated as file status
    00 (or 97 was accepted as valid), and the program moved on.
    However, with V5.2, after the FS 97, the Error Declarative
    takes over.
    

Problem conclusion

  • The new option, VSAMOPENFS, will allow the compiler to more
    closely follow the ANSI/ISO standards.
    
    1. Programming Guide > Compiling and debugging your program >
    Compiler Options >
    
    VSAMOPENFS
    
    The VSAMOPENFS option affects the user file status reported
    from successful VSAM OPEN statements that require verified file
    integrity check.
    
    VSAMOPENFS option syntax
    
                   .-COMPAT-.
    >>-VSAMOPENFS--+--------+------------------------------------><
                   '-SUCC---'
    
    Default is: VSAMOPENFS(COMPAT)
    
    Abbreviations are: VS(C|S)
    
    COMPAT
    
           If you specify VSAMOPENFS(COMPAT), the statement returns
           the file status 97 when a VSAM OPEN statement is
           successfully verified.  This is compatible with pre-V6
           COBOL runtime behavior.
    
    SUCC
    
           If you specify VSAMOPENFS(SUCC), the statement returns
           the file status 00 when a VSAM OPEN statement is
           successfully verified.  This allows users to simply
           check for 0 in the first digit of the returned file
           status, as they usually do with other successful
           operations.
    
    
    
    2.Customization > Enterprise COBOL compiler options >
    VSAMOPENFS >
    
    VSAMOPENFS
    
    The VSAMOPENFS option affects the user file status reported
    from successful VSAM OPEN statements that require verified file
    integrity check.
    
    Syntax
    
                           .-COMPAT-.
    >>-VSAMOPENFS=--+---+--+-SUCC---+----------------------------><
                    '-*-'
    
    Default
        VSAMOPENFS=COMPAT
    
    COMPAT
    
        If you specify VSAMOPENFS=COMPAT, the statement returns the
        file status 97 when a VSAM OPEN statement is successfully
        verified.  This is compatible with pre-V6 COBOL runtime
        behavior.
    
    SUCC
    
        If you specify VSAMOPENFS=SUCC, the statement returns the
        file status 00 when a VSAM OPEN statement is successfully
        verified.  This allows users to simply check for 0 in the
        first digit of the returned file status, as they usually do
        with other successful operations.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI85868

  • 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-08-14

  • Closed date

    2017-09-23

  • Last modified date

    2017-10-02

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

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

Modules/Macros

  •    IGYCINIT
    

Publications Referenced
SC27871200SC27871400   

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655W3200

Applicable component levels

  • R520 PSY UI50557

       UP17/09/28 P F709

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:
02 October 2017