Error status codes of 0971, 3003 or 3010 after maintenance

Document ID : KB000076520
Last Modified Date : 05/04/2018
Show Technical Document Details
Introduction:
You're just applied maintenance to CA Dispatch and have copied down the updated SMP/E target load library to replace the former running load library. Upon starting CA Dispatch, you are receiving errors on the database files that include error status codes of 0971, 3003 or 3010. 
Question:
What causes these errors and how can they be prevented?
Environment:
z/OS
Answer:
Relevant to an IDMS database, the number of blocks allocated for a database file dictate that files page range. The CA Dispatch dictionary file (DICTDB) knows the page ranges of all of the other database files. And, the CA Dispatch load library also contains modules that know the page ranges of all of the database files.  

The Error status codes of 0971, 3003 and 3010 indicate a "size mismatch" problem. Meaning, there is a conflict between the actual size of a database file and what the dictionary and/or load library think the file size is. These errors commonly occur after applying MAINTENANCE and then copying down the SMP/E library to replace the former running load library.

Typically, the SMP/E library does not contain the appropriate IDMS size modules for the CA Dispatch region you are trying to start. These IDMS size modules are "database file specific" and are not controlled by SMP/E. 

When the problem does occur, a quick fix would be for you to MANUALLY copy all modules prefixed "CAIDMCL" (there are at least 2 of these) and all modules prefixed "SS" (These are the subschema modules and there are about 20 or so of these)  from what was the "FORMER RUNNING LOADLIB" for this CA Dispatch region into the NEW loadlib (with maintenance applied) that you have just copied down from SMP/E. After copying the IDMS size modules into the new load library, don't forget to do an LLA REFRESH if the new loadlib is LINKLIST'ed.

Populating your new loadlib with the correct IDMS size modules should resolve the immediate problem. 

If you don't want to manually copy the modules over, you can optionally run the DSEXDBEX job which will read the size information from the dictionary file and re-punch all of the appropriate IDMS size modules into the new load library. 
Additional Information:
* IMPORTANT NOTE * 

Besides the IDMS size modules, there may be other Dispatch "region specific" or "user modified" modules that are not necessarily in the SMP/E target library and that may need to be copied from the "former running loadlib" for a particular Dispatch region into your new load library . A list of those modules follows:

Dispatch region specific and other possible "user modified" modules include: 

- All modules prefixed:  "CAIDMCL"
- All modules prefixed:  "SS"

SVC module:          CADSSVC 
Security module:    CADSSEC 
Features module:   CADSFEAT 
CA 7 module:         CADSCA7U 
ENFevent module: RDFGSTAX 
User Exit modules: RDFGEX01 
                               RDFGEX02 
                               RDFGEX03 
                               RDFGEX04 
                               RDFGEX06 
CICS modules:       CADSINTC 
                               VCICICS 
IMS module:           CADSIMS

Execution of the DSEXDBEX job will only populate the load library with the appropriate IDMS size modules (CAIDMCL* and SS*). The other modules listed above would have to be manually copied from the former running load library into the new load library.