Debugging DC016922 errors

book

Article ID: 140569

calendar_today

Updated On:

Products

CA IDMS CA IDMS - Database

Issue/Introduction

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. 

Environment

Release : All supported releases
Component : CA IDMS

Resolution

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.