Datacom SQLCODE -117 TTM IS UNUSABLE DB RC 94(64)
search cancel

Datacom SQLCODE -117 TTM IS UNUSABLE DB RC 94(64)

book

Article ID: 280951

calendar_today

Updated On: 03-20-2024

Products

Datacom Datacom/DB

Issue/Introduction

When executing a Datacom SQL statement, the following error is encountered:

SQLCODE = -117, SQLSTATE=00000, DB RETURN CODE = 94(64)

The TTM is defined in the MUF startup as VIRTUAL:
VIRTUAL     TTM017,1G,2G,8

Environment

Release: 15.1
Component: Datacom/DB

Resolution

The CXX report shows a history version of the TTM-TABLE with RECOVER - NO and a PROD version with:
RECOVER - YES
TABLE LOADED - NO RECOVERY CHANGE

It needs to have RECOVER - YES for URI.
This indicates the recovery option was changed which leaves the area in a RECOVERY CHANGE status.

To resolve this the table has to be loaded but you can't load a VIRTUAL file.
If you haven't allocated the DBID 017 files run step ALLOC below to allocate them.
The MUF won't actually use these datasets because the TTM is virtual, they will only be used in the null load. 
Then run step LOAD below to perform a null load. This will fix up the CXX definition as loaded and should resolve the RC 94.
The CXX history version will go away after the area is loaded.

//ALLOC    EXEC PGM=IEFBR14  
//IXX017   DD DSN=<datacom.hlq>.IXX017,
//         UNIT=3390,SPACE=(TRK,(1,1)),VOL=SER=nnnnnn,
//         DISP=(NEW,CATLG,DELETE)  
//TTM017   DD DSN=<datacom.hlq>.TTM017,
//         UNIT=3390,SPACE=(TRK,(1,1)),VOL=SER=nnnnnn,
//         DISP=(NEW,CATLG,DELETE)     


//LOAD     EXEC PGM=DBUTLTY,REGION=4M
//STEPLIB  DD DISP=SHR,DSN=<datacom.hlq>.CUSLIB
//         DD DISP=SHR,DSN=<datacom.hlq>.CABDLOAD
//CXX      DD DISP=SHR,DSN=<datacom.hlq>.CXX     
//SYSPRINT DD SYSOUT=*
//SNAPER   DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//IXX017   DD DSN=<datacom.hlq>.IXX017,DISP=SHR
//TTM017   DD DSN=<datacom.hlq>.TTM017,DISP=SHR
//*                                                                             
//SYSIN    DD  *                                                                
  INIT AREA=IXX,DBID=0017,OLDEP=YES                                             
  INIT AREA=TTM,DBID=0017                                                       
  LOAD AREA=TTM,DBID=0017,FORMAT=NONE       
/*  

 

Once the MUF is up with the TTM VIRTUAL run DBUTLTY CXXMAINT to remove the dataset names from the CXX:

//CXXMAINT EXEC PGM=DBUTLTY,REGION=4M
//STEPLIB  DD DISP=SHR,DSN=<datacom.hlq>.CUSLIB
//         DD DISP=SHR,DSN=<datacom.hlq>.CABDLOAD
//CXX      DD DISP=SHR,DSN=<datacom.hlq>.CXX    
//SYSPRINT DD SYSOUT=*
//SNAPER   DD SYSOUT=*
//*                                                                   
//SYSIN    DD  *                                                               
 CXXMAINT OPTION=ALTER,DBID=17,AREA=IXX,DSN=*
 CXXMAINT OPTION=ALTER,DBID=17,AREA=TTM,DSN=*      
/*