Datacom RC 36 (192) 58 (072) TABLE LOADED - NO  RECOVERY CHANGE
search cancel

Datacom RC 36 (192) 58 (072) TABLE LOADED - NO  RECOVERY CHANGE

book

Article ID: 279127

calendar_today

Updated On:

Products

Datacom/DB Datacom/AD Datacom DATACOM - AD

Issue/Introduction

Datacom application gets return code 36 (192) - The User Requirements Table containing the requested table was closed.    

DBOC INQ=nnn shows OPEN  FAILED RC58 072 - TABLE NOT LOADED

A DBUTTY REPORT AREA=CXX, DBID=nnn shows:

TABLE NAME  nnn  
TABLE LOADED - NO  RECOVERY CHANGE

 

Environment

Release: 19.0

Cause

This occurs when the RECOVERY attribute for the  table is turned on via DDOL or DDUDATE and the DBID is cataloged.

When you turn on recovery it increases the length of the RCE in the record so the table needs to be reloaded. 

The procedure to turn on recovery is:

  • Unload the area using EXTRACT with no recid
  • modify the DD and cxx to turn on RECOVERY
  • reload the area.

Resolution

To resolve the problem there are a few options:

  • If a Datacom backup is available then run a DBUTLTY LOAD to reload the data.

  • If the area is empty then do a null load by running DBUTLTY LOAD FORMAT=NONE

  • Change the table back to RECOVERY NO, then follow the following procedure to mark the area as loaded and use the existing data area file which still has the data:
    • close the dbid to the  MUF and CICS
    • rename the file
    • allocate a temp file
    • run a null load against it
    • rename the original file back
    • run a RETIX.

      Below is sample JCL to do this:
      //*
      //*  CLOSE DBID ACCESS
      //*
      //ACCESS   EXEC PGM=DBUTLTY,REGION=4M
      //STEPLIB  DD   DISP=SHR,DSN=DATACOM.CUSLIB
      //         DD   DISP=SHR,DSN=DATACOM.CABDLOAD
      //SYSPRINT DD   SYSOUT=*
      //CXX      DD   DISP=SHR,DSN=DATACOM.CXX
      //SYSIN    DD   *
      ACCESS STATUS=OFF,DBID=nnn,USERS=WAIT      
      COMM OPTION=CLOSE,DBID=nnn
      /*
      //*
      //*      RENAME EXISTING DATA AREA
      //*
      //RENAME   EXEC PGM=IDCAMS,REGION=4M
      //SYSOUT   DD  SYSOUT=*
      //SYSPRINT DD  SYSOUT=*
      //SYSIN    DD  *
       ALTER  hlq.aaannn  -
         NEWNAME(hlq.aaannn.SAVE)
      /*
      //*
      //*      ALLOCATE NEW TEMP DATASET
      //*
      //ALLOC    EXEC PGM=IEFBR14
      //aaannn   DD DSN=hlq.aaannn,
      //         UISP=(NEW,CATLG,DELETE),
      //         UNIT=3390,
      //         SPACE=(TRK,(15,0))
      //*
      //* NULL LOAD TEMP DATASET
      //*
      //LOAD         EXEC PGM=DBUTLTY,REGION=4M,COND=(0,LT)
      //STEPLIB  DD  DISP=SHR,DSN=DATACOM.CUSLIB
      //         DD  DISP=SHR,DSN=DATACOM.CABDLOAD
      //SYSPRINT DD  SYSOUT=*
      //SORTMSG  DD  SYSOUT=*
      //CXX      DD  DISP=SHR,DSN=DATACOM.CXX
      //SYSIN    DD             *
      INIT AREA=aaa,DBID=nnn
      LOAD DBID=nnn,AREA=aaa,FORMAT=NONE
      /*
      //*
      //*      RENAME ORIGINAL DATA AREA BACK
      //*
      //RENAME   EXEC PGM=IDCAMS,REGION=4M
      //SYSOUT   DD  SYSOUT=*
      //SYSPRINT DD  SYSOUT=*
      //SYSIN    DD  *
       ALTER  hlq.aaannn  -
         NEWNAME(hlq.aaannn.TEMP)
       ALTER  hlq.aaannn.SAVE  -
         NEWNAME(hlq.aaannn)

      /*
      //* RETIX AND ENABLE ACCESS
      //*
      //ACCESS   EXEC PGM=DBUTLTY,REGION=4M
      //STEPLIB  DD   DISP=SHR,DSN=DATACOM.CUSLIB
      //         DD   DISP=SHR,DSN=DATACOM.CABDLOAD
      //SYSPRINT DD   SYSOUT=*
      //SORTMSG  DD  SYSOUT=*
      //CXX      DD   DISP=SHR,DSN=DATACOM.CXX
      //SYSIN    DD   *
      RETIX DBID=nnn,AREA=aaa,SORT=999999999,SORTWK=10,OPTIMIZE=YES
      ACCESS STATUS=WRITE,DBID=nnn
      /*