A fix is available
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
| SC26482901 | SC26476700 |
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