IBM Support

PN47486: EXEC MSGIGZ0035S FILE STATUS 39 ON OPEN OF A QSAM VB FILE WHEN NOCMPR2 IS USED. SERVAPAR.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • MSGIGZ0035S FILE STATUS 39, AND ABEND CODE 1035, OR ABENDU1035
    EVALUATING THE CONDITIONS WHICH CAN CAUSE FILE STATUS 39 (SK39),
    THEY CAN BE BROKEN DOWN INTO 4 UNIQUE TYPES AS FOLLOWS:
    1. EXPECTED A QSAM FILE, BUT ACTUAL DATA SET WAS A VSAM FILE.
    2. USER SPECIFIED FILE WAS ASCII AND ACTUAL DATA SET WAS NOT
       AN ASCII FILE, OR USER DID NOT SPECIFY FILE WAS ASCII AND
       ACTUAL DATA SET WAS AN ASCII FILE.
    3. RECORDING MODE DID NOT MATCH THE ACTUAL DATA SET ATTRIBUTES.
    4. LENGTH OF RECORD IN PROGRAM DID NOT MATCH THE ACTUAL DATA
       SET MAXIMUM RECORD LENGTH.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  COBOL/370 and VS COBOL II programs running  *
    *                  under LE/370 which experience QSAM OPEN     *
    *                  file errors due to File Status 39 (MVS).    *
    ****************************************************************
    * PROBLEM DESCRIPTION:  This is a SYSROUTE of PN20191.         *
    *                       The OPEN statement for QSAM files can  *
    *                       encounter File Status 39 errors which  *
    *                       are difficult for users to diagnose    *
    *                       because File Status 39 is a non-unique *
    *                       error response for several possible    *
    *                       file inconsistencies between the       *
    *                       actual data set attributes and the     *
    *                       attributes specified in the COBOL/370  *
    *                       or VS COBOL II program.                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
     New messages needed to explain each file inconsistency error.
     New messages should be added to SC26-4829 IBM SAA AD/Cycle
     Language Environment/370 Debugging and Run-Time Messages Guide.
    

Problem conclusion

  •  The following new messages have been added to SC26-4829
    IBM SAA AD/CYCLE Language Environment/370, Debugging and
    Run-Time Messages Guide.
    ________________________________________________________________
    IGZ0200W - A file attribute mismatch was detected. File "?"
               in program "?" was defined as a physical sequential
               file and the file specified in the ASSIGN clause
               was a VSAM data set.
    Explanation: The program file description specified that the
    file was a physical sequential file and the data set associated
    with the ASSIGN clause was found to be a VSAM file. The OPEN
    statement failed. Check that the file description and the DD
    parameter associated with the ASSIGN clause are for the correct
    data set.
    ----------------------------------------------------------------
    IGZ0201W - A file attribute mismatch was detected. File "?"
               in program "?" had a record length of "?" and
               the file specified in the ASSIGN clause had a
               record length of "?".
    Explanation: The program file description specified a record
    length which did not match the record length of the data set
    associated with the ASSIGN clause. The OPEN statement failed.
    
    For Format-V and Format-S files, the maximum record length
    specified in your program must be exactly 4 bytes smaller
    than the length attribute of the data set. For Format-F files,
    the record length specified in your program must exactly match
    the length attribute of the data set. For Format-U files, the
    maximum record length specified in your program must exactly
    match the length attribute of the data set. If your file is a
    printer file, the compiler may add one byte to the record
    length for carriage control character, depending on the ADV
    compiler option and the COBOL language used in your program.
    In which case, the added byte must be included in the data
    set length attribute,
    
    --------------------------------------------------------------
    IGZ0202W - A file attribute mismatch was detected. File "?"
               in program "?" specified ASCII data and the file
               specified in the ASSIGN clause did not contain
               the ASCII data attribute.
    Explanation: The CODE-SET clause was specified in the program
    file description and the data set associated with the ASSIGN
    clause did not contain ASCII data. The OPEN statement failed.
    Check that the data set associated with the ASSIGN clause
    is the correct one, and if it is, check the data set for
    the ASCII attribute.
    -------------------------------------------------------------
    IGZ0203W - A file attribute mismatch was detected. File "?"
               in program "?" specified non-ASCII data and the
               file specified in the ASSIGN clause contained the
               ASCII data attribute.
    Explanation: The data set associated with the ASSIGN clause
    contained ASCII type data and the file description in the
    program did not contain ASCII data. The OPEN statement failed.
    Check that the data set associated with the ASSIGN clause is
    the correct one, and if it is, check the data set for the ASCII
    attribute.
    ---------------------------------------------------------------
    IGZ0204W - A file attribute mismatch was detected. File "?"
               in program "?" was defined as RECORDING MODE "?"
               and the file specified in the ASSIGN clause did
               not contain the same attribute.
    Explanation: The RECORDING MODE specified in the program file
    description did not match the data control block fields of the
    data set associated with the ASSIGN clause. The OPEN statement
    failed. Check the data control block fields of the actual data
    set to verify that the RECORDING MODE matches. The most common
    cause of this error is conflicting fixed and variable record
    length data set attributes.
    ===============================================================
    The SC26-4818-01 IBM SAA AD/Cycle COBOL/370, Programming
    Guide, SC26-4767, will be updated with extensive rewrites
    to explain QSAM File Availability. The following miniature
    of the rewrites should aid in diagnosis of File Status 39
    errors:
    
    "  Processing Existing Files:  When your program processes an
       existing file, code the description of the file in your
       COBOL program to be consistent with the file attributes of
       the data set.  For Format-V or Format-S files, the maximum
       record length specified in your program must be exactly
       4 bytes smaller than the logical record length attribute of
       the data set. For Format-F files, the record length specified
       in your program must exactly match the logical record length
       attribute of the data set. For Format-U files, the maximum
       record length specified in your program must exactly match
       the logical record length attribute of the data set. "
    ----------------End of Publication Changes---------------------
    

Temporary fix

Comments

APAR Information

  • APAR number

    PN47486

  • Reported component name

    LE COBOL LIB

  • Reported component ID

    568819802

  • Reported release

    220

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    1993-10-08

  • Closed date

    1993-10-27

  • Last modified date

    1994-03-25

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

    PN20191

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

    UN52400 UN52402 UN52403 UN52404 UN52405

Modules/Macros

  •    FCBMAP   IGZCMGEN IGZCMGJA IGZCMGUE IGZCMLT
    IGZEQBL  IGZEQOC
    

Publications Referenced
SC26482901SC26476700   

Fix information

  • Fixed component name

    LE COBOL LIB

  • Fixed component ID

    568819802

Applicable component levels

  • R22B PSY UN52400

       UP93/11/29 P F311

  • R22D PSY UN52401

       UP93/11/29 P F311

  • R22G PSY UN52403

       UP93/11/16 P 9402

  • R22J PSY UN52404

       UP93/11/16 P 9402

  • R22N PSY UN52405

       UP93/11/16 P 9402

  • R220 PSY UN52402

       UP93/11/29 P F311

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":"LOB16","label":"Mainframe HW"},"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG27M","label":"APARs - z\/VM environment"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"220"}]

Document Information

Modified date:
22 January 2021