The most common cause of DC016922 errors is that the physical attributes of a database file do not match how it is defined in the DMCL.
The error messages will look like this:
DC016922 IDMSCV01,IDMSCV01,49A2,D,DICTDB,86- OP,NO RECORD FOUND,000019DC000203,EXCP
DC016922 READ ERR=033 DDN=DICTDB DECCC2=8000 RBN=00010812
DC205007 V1 T8133 READ ERROR on File APPLDICT.DICTDB
DC205007 V1 T8133 CURRBN=00002A3C CURBMA=3081CD68 CURFCB=1FA54A90
DC205019 V1 T8133 IOSTATUS=3010 VERB=001 ERRSW=040 MOD=033 IOP=214123A0
This document describes how to confirm if that is the case.
Release: All supported releases.
In the above messages, DICTDB is the ddname of the file and APPLDICT.DICTDB is the IDMS file name (segment.file). To find out the name of the physical dataset, use LOOK DMCL, and find the definition of the file in the output:
Mem.- Shared
File Name DDNAME Type Cache Cache Buffer Name
--------------------------- -------- ---- ----- ----- ------------------
APPLDICT.DICTDB DICTDB BDAM No No DEFAULT_BUFFER
DSname: (DMCL) IDMS.CV01.APPLDICT.DDLDML
The above display indicates that the physical dataset name is IDMS.CV01.APPLDICT.DDLDML. Go to ISPF and browse this dataset. Use option 3.4. Type S next to the dataset name to go to the "Data Set Information" screen. The value in the Record Length field is the page size with which the file has been FORMATted.
Now browse the dataset (option B). Each line of the physical file equates to a page in the database. The page number of each page is in the first four bytes of each line in hexadecimal. Turn HEX ON to find that hex representation and determine the page number of the first (M, PF7) and last (M, PF8) pages in the file. Now return to the LOOK DMCL output and find the related AREA definition by using the ddname listed at the right hand side of each area.
Page Low High Page
Area Name Shr Group Page Page Size DDNAME
---------------------- --- ----- ---------- ---------- ------ --------
APPLDICT.DDLDML 0 60,001 62,000 4,276 DICTDB
If the Low Page, High Page and Page Size of the area definition as defined in the DMCL do not match what was found on the physical dataset, then that is the reason for the DC016922 error. Most likely, the file was FORMATted with a different DMCL than what the CV is running with.