Tags

, ,

File Status Key Overview

The ANS/85 standard provides for a two-byte file-status-key. The first character of the file-status-key is known as status-key-1. The second character is known as status-key-2. The combinations of possible values and their meanings are shown below with some comments where vendor additions or extensions may occur.

Note: If status-key-1 is a nine (9) then status key 2 is “implementor-defined”. Many vendors take advantage of the x”00′ to x’FF’ (or 0-255) binary value. Therefore, the file status key may not always be a numeric value.

Status
Key-1
 

Condition 

Status
Key-2
 

Description
0

Successful
Completion

0

No further information
   

2

The input-output statement was successfully executed, but a duplicate key was detected. For a READ statement the key value for the current key of reference was equal to the value of the same key in the next record within the current key of reference. For a REWRITE or WRITE statement, the record just written created a duplicate key value for at least one alternate record key for which duplicates are allowed.
   

4

A READ statement was successfully executed, but the length of the record being processed did not conform to the fixed file attributes for that file.
   

5

An OPEN statement is successfully executed but the referenced optional file is not present at the time the OPEN statement is executed. If the open mode is I-O, the file has been created. Under MVS, the file has been created if the open mode is I-O or EXTEND. This does not apply to VSAM sequential files. File status 0 is returned.
   

7

For a CLOSE statement with the NO REWIND, REEL/UNIT, or FOR REMOVAL phrase or for an OPEN statement with the NO REWIND phrase, the referenced file was on a non-reel/unit medium.

1

At END

0

A sequential READ statement was attempted and no next logical record existed in the file because the end of the file had been reached, or the first READ was attempted on an optional input file that was not present.
   

4

A sequential READ statement was attempted for a relative file and the number of significant digits in the relative record number was larger than the size of the relative key data item described for the file.

2

Invalid key

1

A sequence error exists for a sequentially accessed indexed file. The prime record key value has been changed by the program between the successful execution of a READ statement and the execution of the next REWRITE statement for that file, or the ascending requirements for successive record key values were violated.
   

2

An attempt was made to write a record that would create a duplicate key in a relative file; or an attempt was made to write or rewrite a record that would create a duplicate prime record key or a duplicate alternate record key without the DUPLICATES phrase in an indexed file. This key value applies to an indexed file in which the alternate key has been declared ‘UNIQUE’.
   

3

An attempt was made to randomly access a record that does not exist in the file, or a START or random READ statement was attempted on an optional input file that was not present.
   

4

An attempt was made to write beyond the externally defined boundaries of a relative or indexed file. Or, a sequential WRITE statement was attempted for a relative file and the number of significant digits in the relative record number was larger than the size of the relative key data item described for the file.

3

Permanent error

0

No further information.
   

4

A permanent error exists because of a boundary violation; an attempt was made to write beyond the externally-defined boundaries of a sequential file.
   

5

An OPEN statement with the INPUT, I-O, or EXTEND phrase was attempted on a non-optional file that was not present.
   

7

An OPEN statement was attempted on a file that would not support the open mode specified in the OPEN statement. Possible violations are:
1. The EXTEND or OUTPUT phrase was specified but the file would not support write operations.
2. The I-O phrase was specified but the file would not support the input and output operations permitted.
3. The INPUT phrase was specified but the file would not support read operations.
4. Under VSE, the EXTEND phrase was specified for a SAM file.
   

8

An OPEN statement was attempted on a file previously closed with lock.
   

9

The OPEN statement was unsuccessful because a conflict was detected between the fixed file attributes and the attributes specified for that file in the program. These attributes include the organization of the file (sequential, relative, or indexed), the prime record key, the alternate record keys, the code set, the maximum record size, the record type (fixed or variable), and the blocking factor.

4

Logic error

1

An OPEN statement was attempted for a file in the open mode.
   

2

A CLOSE statement was attempted for a file not in the open mode.
   

3

For a mass storage file in the sequential access mode, the last input-output statement executed for the associated file prior to the execution of a REWRITE statement was not a successfully executed READ statement.
For relative and indexed files in the sequential access mode, the last input-output statement executed for the file prior to the execution of a DELETE or REWRITE statement was not a successfully executed READ statement.
   

4

A boundary violation exists because an attempt was made to rewrite a record to a file and the record was not the same size as the record being replaced, or an attempt was made to write or rewrite a record that was larger than the largest or smaller than the smallest record allowed by the RECORD IS VARYING clause of the associated file-name.
   

5

An attempt has been made to REWRITE a record to a file, and the record is not the same size as the record being replaced.
(Micro Focus) For line sequential files this refers to the physical size of the record, that is after space removal, tab compression and null insertion. In this case, the physical size of the new record is allowed to be smaller than that of the record being replaced.
   

6

A sequential READ statement was attempted on a file open in the input or I-O mode and no valid next record had been established because:
1. The preceding READ statement was unsuccessful but did not cause an at end condition
2. The preceding READ statement caused an at end condition.
   

7

The execution of a READ statement was attempted on a file not open in the input or I-O mode.
   

8

The execution of a WRITE statement was attempted on a file not open in the I-O, output, or extend mode.
   

9

The execution of a DELETE or REWRITE statement was attempted on a file not open in the I-O mode.

9

Implementor-
defined

0

No further information.
   

1

For VSAM only: Password failure.
   

2

Logic error.
   

3

For VSAM only: Resource not available.
   

4

For VSAM with CMPR2 compiler-option only: No file position indicator for sequential request.
   

5

For VSAM only: Invalid or incomplete file information.
   

6

For VSAM under MVS: No DD statement specified for this file.
FOR VSAM and SAM under VSE: No DLBL statement specified for this file.
   

7

For VSAM only: OPEN statement execution successful: File integrity verified.

Primary File Status Keys

The first character of the file-status-key is known as status-key-1; the second character is known as status-key-2. The combinations of possible values and their meanings are shown below.

Status
1 & 2
Description
00 Successful completion
02 Indexed files only. Possible causes:
For a READ statement, the key value for the current key is equal to the value of that same key in the next record in the current key of reference.
For a WRITE or REWRITE statement, the record just written created a duplicate key value for at least one alternate record key for which duplicates are allowed.
04 The length of the record being processed does not conform to the fixed file attributes for that file.
05 The referenced optional file is not present at the time the OPEN statement is executed.
06 Attempted to write to a file that has been opened for input.
07 Sequential files only. For an OPEN or CLOSE statement with the REEL/UNIT phrase the referenced file is a non-reel/unit medium.
08 Attempted to read from a file opened for output.
09 No room in directory or directory does not exist.
10 No next logical record exists. You have reached the end of the file.
12 Attempted to open a file that is already open.
13 File not found.
14 Relative files only. The number of significant digits in the relative record number is larger than the size of the relative key data item described for that file.
Too many files open simultaneously (Micro Focus).
15 Too many indexed files open (Micro Focus).
16 Too many device files open (Micro Focus).
17 Record error: probably zero length (Micro Focus).
18 Read part record error: EOF before EOR or file open in wrong mode (Micro Focus).
19 Rewrite error: open mode or access mode wrong (Micro Focus).
20 Device or resource busy (Micro Focus).
21 Sequentially accessed files only. Indicates a sequence error. The ascending key requirements of successive record key values has been violated, or, the prime record key value has been changed by a COBOL program between successful execution of a READ statement and execution of the next REWRITE statement for that file.
22 Indexed and relative files only. Indicates a duplicate key condition. Attempt has been made to store a record that would create a duplicate key in the indexed or relative file OR a duplicate alternate record key that does not allow duplicates.
23 Indicates no record found. An attempt has been made to access a record, identified by a key, and that record does not exist in the file. Alternatively a START or READ operation has been tried on an optional input file that is not present.
24 Relative and indexed files only. Indicates a boundary violation. Possible causes:
Attempting to write beyond the externally defined boundaries of a file
Attempting a sequential WRITE operation has been tried on a relative file, but the number of significant digits in the relative record number is larger than the size of the relative key data item described for the file.
30 The I/O statement was unsuccessfully executed as the result of a boundary violation for a sequential file or as the result of an I/O error, such as a data check parity error, or a transmission error.
32 Too many Indexed files opened. This can also happen when a sequential file is open for input and an attempt is made to open the same file for output.(Run Time System (RTS) message by Micro Focus).
34 The I/O statement failed because of a boundary violation. This condition indicates that an attempt has been made to write beyond the externally defined boundaries of a sequential file.
35 An OPEN operation with the I-O, INPUT, or EXTEND phrases has been tried on a non-OPTIONAL file that is not present. Trying to open a file that does not exist.
May need to map the COBOL file name to the physical file name. (Micro Focus, refer to the ASSIGN(EXTERNAL) directive)
37 An OPEN operation has been tried on a file which does not support the open mode specified in the OPEN statement.
38 An OPEN operation has been tried on a file previously closed with a lock.
39 A conflict has been detected between the actual file attributes and the attributes specified for the file in the program.
This is usually caused by a conflict with record-length, key-length, key-position or file organization.
Other possible causes are:
1. Alternate indexes are incorrectly defined (Key length or position, duplicates or sparse parameters).
2. The Recording Mode is Variable or Fixed or not defined the same as when the file was created..
41 An OPEN operation has been tried on file already opened.
42 A CLOSE operation has been tried on file already closed.
43 Files in sequential access mode. The last I/O statement executed for the file, before the execution of a DELETE or REWRITE statement, was not a READ statement.
44 A boundary violation exists. Possible causes:
Attempting to WRITE or REWRITE a record that is larger than the largest, or smaller than the smallest record allowed by the RECORD IS VARYING clause of the associated file
Attempting to REWRITE a record to a file and the record is not the same size as the record being replaced.
45 An attempt has been made to REWRITE a record to a file, and the record is not the same size as the record being replaced.
(Micro Focus) For line sequential files this refers to the physical size of the record, that is after space removal, tab compression and null insertion. In this case, the physical size of the new record is allowed to be smaller than that of the record being replaced.
46 A sequential READ operation has been tried on a file open in the INPUT or I-O mode but no valid next record has been established.
47 A READ or START operation has been tried on a file not opened INPUT or I-O.
48 A WRITE operation has been tried on a file not opened in the OUTPUT, I-O, or EXTEND mode, or on a file open I-O in the sequential access mode.
49 A DELETE or REWRITE operation has been tried on a file that is not opened I-O.

Extended File Status Keys

The first character of the file-status-key is known as status-key-1. If status-key-1 is equal to 9 then status-key-2 is a one byte, binary value as defined in the following table.

Status-key-2
Decimal

Status-key-2
Hex

Description
9000

00

No further information.
9001

01

Insufficient buffer space. Could also indicate an out of memory situation.
9002

02

File not open when access tried.
9003

03

Serial mode error.
9004

04

Illegal file name.
Micro Focus, the COBOL file name may not be mapped to a fully qualified PC file name. Check the ASSIGN(EXTERNAL) directive and possible environment variable setting for the COBOL file name.
9005

05

Illegal device specification.
9006

06

Attempt to write to a file opened for input.
9007

07

Disk space exhausted.
9008

08

Attempt to input from a file opened for output.
9009

09

No room in directory or directory does not exist.
9010

0A

File name not supplied.
9012

0C

Attempt to open a file that is already open.
9013

0D

File not found.
9014

0E

Too many files open simultaneously.
9015

0F

Too many indexed files open.
9016

10

Too many device files open.
9017

11

Record error, probable cause is zero record length.
9018

12

Read partial record error: EOF before EOR or file open in wrong mode.
This can also be cause when a physical line sequential file (ASCII/Text) is being read as a sequential file and the directive SEQUENTIAL(LINE) is not set (Micro Focus).
9019

13

Rewrite error: open mode or access mode wrong.
9020

14

Device or resource busy.
9021

15

File is a directory.
9022

16

Illegal or impossible access mode for OPEN.
9023

17

Illegal or impossible access mode for CLOSE.
9024

18

Disk I/O error.
Attempting to read a LINE SEQUENTIAL file as a SEQUENTIAL file(Micro Focus).
9025

19

Operating system data error.
9026

1A

Block I/O error.
9027

1B

Device not available.
9028

1C

No space on device.
9029

1D

Attempt to delete open file.
9030

1E

File system is read only.
9031

1F

Not owner of file.
9032

20

Too many indexed files, or no such process.
9033

21

Physical I/O error.
9034

22

Incorrect mode or file descriptor.
9035

23

Attempt to access a file with incorrect permission.
9036

24

File already exists.
9037

25

File access denied.
9038

26

Disk not compatible.
9039

27

File not compatible.
9040

28

Language initialization not set up correctly.
9041

29

Corrupt index file.
9042

2A

Attempt to write on broken pipe.
9043

2B

File information missing for indexed file.
(Micro Focus) This could indicate the filename.IDX is missing.
9045

2C

Attempt to open an NLS file using an incompatible program.
9047

2D

Indexed structure overflow. (Could indicate that you have reached the maximum number of duplicate keys.)
9065

41

File locked.
9066

42

Attempt to add duplicate record key to indexed file.
9067

43

Indexed file not open.
9068

44

Record locked.
9069

45

Illegal argument to ISAM module.
9070

46

Too many indexed files open.
9071

47

Bad indexed file format.
9072

48

End of indexed file.
9073

49

No record found in indexed file.
9074

4A

No current record in indexed file.
9075

4B

Indexed data file name too long.
9076

4C

Internal ISAM module failure.
9077

4D

Illegal key description in indexed file.
9081

51

Key already exists in indexed file.
9092

5C

A PUT for update or an ERASE was issued without a previous GET for update.
9100

64

Invalid file operation.
9101

65

Illegal operation on an indexed file.
9102

66

Sequential file with non-integral number of records.
9104

68

Null file name used in a file operation.
9105

69

Memory allocation error.
9124

7C

Connection to remote system is failing.
(Micro Focus) This could indicate a File Name is mapped to use Fileshare and the Fileshare Server has not been started.
9125

7D

Connection to remote system file server is failing (Micro Focus)
9129

81

Attempt to access record zero of relative file.
9135

87

File must not exist.
9138

8A

File closed with lock – cannot be opened.
9139

8B

Record length or key data inconsistency.
9141

8D

File already open – cannot be opened.
9142

8E

File not open – cannot be closed.
9143

8F

REWRITE/DELETE in sequential mode not preceded by successful READ.
9146

92

No current record defined for sequential read.
9147

93

Wrong open mode or access mode for READ/START.
9148

94

Wrong open mode or access mode for WRITE. This can be caused by issuing a read after the end-of-file has been reached during sequential processing.
9149

95

Wrong open mode or access mode for REWRITE/ DELETE.
9150

96

Program abandoned at user request.
9151

97

Random read on sequential file.
9152

98

REWRITE on file not opened I-O.
9158

9E

Attempt to REWRITE to a line-sequential file.
9159

9F

Malformed line sequential-file.
9161

A1

File header not found.
9173

AD

Called program not found.
9180

B4

End-of-file marker error.
9182

B6

Console input or console output open in wrong direction.
9183

B7

Attempt to open line sequential file for I-O.
9188

BC

File name too large.
9193

C1

Error in variable length count.
9194

C2

File size too large.
9195

C3

DELETE/REWRITE not preceded by a READ.
9196

C4

Record number too large in relative or indexed file.
9210

D2

File is closed with lock.
9213

D5

Too many locks.
9218

DA

Malformed MULTIPLE REEL/UNIT file.
9219

DB

Operating system shared file limit exceeded.
SORT JOIN – TO JOIN TWO FILES BASED ON A KEY
KNOW YOUR MAINFRAME
REXX – INITIAL SETUP
CA7 – LJOB, LQ, LRLOG
CA7 – ASSIGN PF KEYS TO PERFORM YOUR COMMANDS
CA7 – LEAD TIME CONCEPT (LOOK BACK ISSUE)
CA7 Commonly used Commands
Mainframe Manuals/References/Guides/Documents Download Links
HEX Value 41 – Confused as SPACE (Hex value of 40)
EVER WONDERED WHAT DOES Z MEAN IN Z/OS
Search for a string that is in mixed case inside a PDS
S0C7 ISSUE – FIND THE INVALID (FAULT) DATA
HRECALL – MASS RECALL IN BATCH MODE
Nice Article to answer the myths on Mainframes
MAINFRAME – PS DATASET GETTING NUMBER AT END AUTOMATICALLY
MAINFRAME – GRANT and REVOKE Dataset Access
File Status Key Overview
TSO/E COMMANDS
SDSF; Status panel (ST) Columns
ABEND CODES
Glossary of z/OS terms and abbreviations
AMODE and RMODE
IMS INTERVIEW QUESTIONS
SDSF TIPS
NDM – FASTER MODE
FILEMAXX
BATCH PIPES
What is a Catalog
Important SQL CODES and ABEND CODES
Conditional processing


Advertisements