In this section: |
On OS/390 and z/OS, the EDA198 error codes fall into two sets. The codes beginning with 00 or AA are codes generated by FOCUS. The codes beginning with either EE or FF are the return codes passed from OS/390 and z/OS to FOCUS when a BDAM I/O is attempted but fails.
The most common OS/390 and z/OS allocation/size problems are codes 0000006D (the extension requires a secondary allocation, but the file was allocated with a primary allocation only), 0000006E (the extension or formatting OPEN failed), or 00000070 (writing the required page requires more than 16 extents).
The following table shows the OS/390 and z/OS EDA198 error codes. Note that all codes are in hex.
Error Code |
Reason |
00000008 |
Error in Track/IO. |
00000064 |
Page number is negative or zero. |
00000065 |
Page number is greater than 256 megabytes (262143). |
00000066 |
Primary allocation quantity is negative. |
00000067 |
Total number of currently allocated tracks is negative. |
00000068 |
The number of current extents is negative. |
00000069 |
The number of blocks per track is negative or zero (FOCUS error or file not allocated). |
0000006A |
The number of tracks per cylinder is negative or zero (FOCUS error or file not allocated). |
0000006B |
Actual number of blocks written is negative. |
0000006C |
Number of blocks written is incompatible with the amount of allocated space. |
0000006D |
Extension requires a secondary allocation, but the file was allocated with a primary allocation only. |
0000006E |
Extension or formatting OPEN failed. |
0000006F |
File is allocated in units of blocks, but the blocksize is not 4096. |
00000070 |
Writing the required page requires more than 16 extents. |
0000AAAA |
No more space in FOCUS I/O table. |
0000BBBB |
A currency error was detected, but the file was not in SU or SU/LOCAL mode or the Master File specifies a suffix of FOC OS, but the file is not on an OS format mini disk. |
0000CCCC |
Page number is larger than 256 megabytes (262143). |
0000EEEE |
Insufficient core for FOCUS shadow directory control areas. This error can occur even if the file is not shadowed. |
AA00nn01 |
Track I/O: Nonzero return code from internal conversion routine (TTR to MBBCCHHR). The return code is nn. |
AAnnmm02 |
Track I/O: EXCP did not succeed. nn is the UCBSNS0 return code and mm is the UCBSNS1 return code. |
AA000003 |
Track I/O: No space on the disk for the requested extent. Can be accompanied by a system x37 abend code. |
AA000004 |
Track I/O: All 16 extents are already allocated but another extent was requested. |
AA0001nn |
nn=01 Nonzero return code from DEVTYPE system macro. nn=03 Nonzero return code from TRKCALC system macro. nn=other Return code from unsuccessful OBTAIN system macro. |
EExxxxxx |
See the table in OS/390 and z/OS Return Codes. |
FF000000 |
Real error explanation is in accompanying EDA986 message. EDA198 is analogous to the system message IEC020I and the EDA986 can be decoded from the appropriate IBM OS/390 and z/OS System Messages manual. |
FFxxxxxx |
See the table in OS/390 and z/OS Return Codes. |
Reference: |
To interpret EE or FF error codes, remove the first byte and the last byte from the four-byte string (two hex characters per byte). For example, FF800000 becomes 8000.
Convert these four hex digits into binary (the 8000 becomes 1000000000000000). See Performing Binary Conversions for information on converting hex numbers into their binary equivalents. The bits in this string are numbered from the left starting at zero and ending at 15. Wherever you have a 1 in your string, look up the corresponding error in OS/ 390 and z/OS Return Codes. This table is reproduced from the IBM manual OS/390 and z/OS Data Management Macro Instructions.
There is one column in the OS/390 and z/OS Return Codes table for read operations and one for write operations. The EDA198 message indicates whether FOCUS was reading or writing at the time of the error.
Exception |
READ |
WRITE |
Reason |
0 |
X |
X |
Record not found. |
1 |
X |
X |
Record length check. |
2 |
|
X |
Space not found. |
3 |
X |
X |
Invalid request - see bits 9-15. |
4 |
X |
X |
Uncorrectable I/O error. |
5 |
X |
X |
End of data. |
6 |
X |
X |
Uncorrectable error. |
7 |
|
X |
Not read with exclusive control. |
8 |
|
|
Not used. |
9 |
|
X |
WRITE to input data set. |
10 |
X |
X |
Extended search with DCBLIMCT=0. |
11 |
X |
X |
Block or track requested outside data set. |
12 |
|
X |
Attempted to write capacity record. |
13 |
X |
X |
Specified key as search argument when KEYLEN=0 or no key address supplied. |
14 |
X |
X |
Request for options not in data control block. |
15 |
|
|
Attempt to add fixed length record with key beginning with hexadecimal FF. |
Example: |
To convert a hexadecimal string to binary, take each hex character, look it up in the following table, and concatenate the binary strings.
Hexadecimal Character |
Binary String |
Hexadecimal Character |
Binary String |
0 |
0000 |
8 |
1000 |
1 |
0001 |
9 |
1001 |
2 |
0010 |
A |
1010 |
3 |
0011 |
B |
1011 |
4 |
0100 |
C |
1100 |
5 |
0101 |
D |
1101 |
6 |
0110 |
E |
1110 |
7 |
0111 |
F |
1111 |
For example, if your four digit hex value is C302, take the binary equivalents from the table (C=1100, 3=0011, 0=0000, and 2=0010) to obtain the binary string 1100001100000010. Using this example (the error bytes from FF800000 being represented as 1000000000000000 in binary), bit zero is set. OS/390 and z/OS Return Codes shows that a 1 in exception code bit position zero means the requested record was not found. Since all the other bits in the string are zero, no other errors were detected.
If an EDA data access task abends due to an EDA198 error message, the following message is printed in the EDAPRINT file:
(EDA198) FATAL ERROR IN DATABASE I/O. FOCUS TERMINATING. ERROR
WRITING PAYROLL ,PAGE 241 ,CODE=00000070
The second line of this message indicates that an error occurred while writing to the file PAYROLL and that the task failed to write page number 241, receiving error code 00000070 in the process. Code 00000070 means that writing the page would exceed IBM's restriction of 16 extents to a data set (one primary and up to 15 secondary extents).
Another way to confirm the page number is to look at the allocation using ISPF 3.2. In this case, the file had been allocated with five primary tracks and one secondary track. Thus the maximum file size could be 5+(1*15)=20 tracks. This is on a 3390 disk and 12 pages of a FOCUS file fit on every track of a 3390. Therefore, the highest page that could be stored in the file is 20*12=240, and writing page 241 produces the EDA198 message.
If you know why an EDA198 error message occurred, the first thing to do is to check the integrity of the file with a ? FILE command and a REBUILD/CHECK. If the file checks out cleanly and the problem is a disk space issue, obtain a larger disk, clear some files from the existing disk, and/or move the file to another disk that has sufficient free space. If the file does not check out cleanly, you should restore the file from backup and rerun any transactions that changed the data since the backup was taken.
In OS/390 and z/OS, allocate FOCSORT with a larger disk allocation. If you do not explicitly allocate FOCSORT, FOCUS allocates it for you with a default, in cylinders, of five primary and five secondary extents, which gives you a maximum of 5+(5*15)=80 cylinders. You change this default by editing the IBITABLA file located in qualif.EDAPROF.DATA. This file contains comments that describe how to change the default FOCSORT file allocation.
The following table lists the number of FOCUS pages that can be stored on a track and the number of tracks per cylinder for various IBM disk types (some of which are obsolete now but are included for completeness). With this information, you can calculate various data set capacities once you know the space allocation for the data set and the disk type on which it resides.
Device |
4K Blocks/Track |
Tracks/Cylinder |
2305 |
3 |
8 |
2314 |
1 |
20 |
2319 |
1 |
20 |
3330 |
3 |
19 |
3340 |
2 |
12 |
3350 |
4 |
30 |
3375 |
8 |
12 |
3380 |
10 |
15 |
3390 |
12 |
15 |
9345 |
10 |
15 |
iWay Software |