*COMDECK RVRSCOMMN
#     NOTE - THIS DECK REQUIRES DEF"S DEFINED IN DECKS CDGDFDCLS AND   #
#     GUGDFDCLS, WHICH ARE ALSO CALLED BY DECK CDCSCOMMN.              #
# 
      COMMON FOR RECOVERY/RESTORE UTILITIES.
# 
      DEF DFBIGDATE #"99367"#;       #LARGE DATE VALUE# 
      DEF DFBIGTIME #" 25.61.61."#; #LARGE TIME VALUE#
      DEF DFCRITENSZ #11#;         # CRITERIA TABLE ENTRY SIZE         #
      DEF DFDET #O"04052400000000000000"#;
      DEF DFEOI #O"100"#; 
      DEF DFINPUT #O"11162025240000000000"#;  #INPUT, ZERO FILLED#
      DEF DFIO #O"11461700000000000000"#;     #IO, ZERO FILLED# 
      DEF DFOUTPUT #O"17252420252400000000"#; #OUTPUT, ZERO FILLED# 
      DEF DFPRESORTLFN #"ZZZZPST"#;    #PRE-SORT SELECT FILE LFN# 
      DEF DFREWIND #O"22000000000000000000"#; 
      DEF DFSELCHARS #10#;         # EXTRA CHARACTERS IN SELECT FILE   #
      DEF DFSELWORDS # 1#;         # EXTRA WORDS IN SELECT FILE        #
      DEF DFUNLOAD #O"25000000000000000000"#; 
      DEF DFZEROTIME #" 00.00.00."#;#SMALL TIME VALUE#
  
      COMMON DB$RCOM; 
        BEGIN 
      ITEM CNTWRITES;              #COUNTS FOR INDIVIDUAL AREAS#
      ITEM CNTREWRITES; 
      ITEM CNTDELETES;
      ITEM TOTLWRITES;             #COUNTS FOR TOTAL RUN# 
      ITEM TOTLREWRITES;
      ITEM TOTLDELETES; 
        ITEM ERRWRITES; 
        ITEM ERRREWRITES; 
        ITEM ERRDELETES;
        ITEM FIRSTCRIT;            #POINTER TO FIRST CRITERIA ENTRY#
        ITEM NEWLOG1;              #FIRST OUTPUT LOG FILE LFN#
        ITEM NEWLOG2;              #SECOND OUTPUT LOG FILE LFN# 
        ITEM REQVERS     C(07);    # REQUESTED VERSION NAME            #
        ITEM OLDLOG;               #OLD LOG LFN#
        ITEM RECOVRUN B;           #TRUE = RECOVERY (DBRCN)#
                                   #FALSE = RESTORE (DBRST)#
        ITEM SELECTERRS B;         #ERRORS DETECTED DURING SELECTION# 
        ITEM SELECTION B;          #FLAG TO INITIATE SELECTION PHASE# 
        ITEM SAVESORT B;           #FLAG TO SAVE (SORTED) SELECT FILE#
        ITEM SELLFN;               #SELECT FILE LFN#
        ITEM SORTREQD B;           #FLAG TO PERFORM A SORT# 
        ITEM SORTDISK B;           #TRUE = SORT MEDIA IS DISK#
                                   #FALSE= SORT MEDIA IS TAPE#
        ITEM SUPOUTPUT B;          #TRUE = SUPPRESS OUTPUT# 
                                   #FALSE= NO OUTPUT SUPPRESSION# 
        ITEM UPDATERUN B;          #TRUE = UPDATE THE DATABASE# 
                                   #FALSE = NO UPDATING ON THIS RUN#
      BASED ARRAY AFIT;            #DATA BASE AREA FIT# 
        BEGIN 
        ITEM AFITWD (0,0,60); 
        ITEM AFITLFN U(0,0,42);    #FILE NAME#
        ITEM AFITFP  U(10,26,7);   #FILE POSITION#
        ITEM AFITRL  U(11,0,24);   #RECORD LENGTH#
        ITEM AFITMRL U(12,0,24);   #MAXIMUM RECORD LENGTH#
        ITEM AFITES  U(13,33,9);   #ERROR STATUS# 
        ITEM AFITWSA U(15,42,18);  #WORKING STORAGE AREA# 
        ITEM AFITHRL U(16,42,18);  #DA HASHING PROC ADDRESS#
        ITEM AFITOC  U(17,01,2);   #OPEN/CLOSED FLAG# 
        ITEM AFITPD  U(17,3,3);   #PROCESSING DIRECTION#
        ITEM AFITLGX U(19,42,18);  #LOGGING EXIT ADDRESS               #
        ITEM AFITXN  U(21,0,42);   #INDEX FILE LFN# 
        ITEM AFITKP U(31,16,4);    #KEY POSITION# 
        ITEM AFITCPA I(33,42,18);  #COMPRESSION PROCEDURE ADDRESS      #
        ITEM AFITDCA I(34,42,18);  #DECOMPRESSION PROCEDURE ADDRESS    #
        END 
        ARRAY DUMMYSAL S(DFSALENSIZE); #SCHEMA ACCESS LIST ENTRY# 
          BEGIN 
            ITEM DSCNAME C(0,0,30);    #SCHEMA NAME#
            ITEM DSCWORD (0,0,60);
          END 
        BASED ARRAY CRITERIA (DFCRITENSZ); #SELECTION CRITERIA TABLE# 
          BEGIN 
          ITEM CRPRIOR(0,24,18);   #POINTER TO PRIOR ENTRY# 
          ITEM CRNEXT(0,42,18);    #POINTER TO NEXT ENTRY#
          ITEM CRAREA C(1,36,4);   #AREA IDENTIFIER#
          ITEM CRAREAI (1,0,60);   #AREA IDENTIFIER, INTEGER# 
          ITEM CRJOB C(2,0,7);     #JOB ID# 
          ITEM CRJOBI (2,0,60);    #JOB ID, INTEGER#
          ITEM CRRUNUNIT C(3,0,10);#RUN-UNIT-ID#
          ITEM CRRUNUNITI (3,0,60);#RUN-UNIT-ID, INTEGER# 
          ITEM CRBDATE C(4,0,5);   #BEGIN DATE# 
          ITEM CRBDATEI (4,0,60);  #BEGIN DATE, INTEGER#
          ITEM CRBTIME C(5,0,10);  #BEGIN TIME# 
          ITEM CRBRP   C(6,0,10);  #BEGIN RECOVERY POINT# 
          ITEM CRBRPI (6,0,60);    #BEGIN RECOVERY POINT, INTEGER#
          ITEM CREDATE C(7,0,5);   #END DATE# 
          ITEM CRETIME C(8,0,10);  #END TIME# 
          ITEM CRERP   C(9,0,10);  #END RECOVERY POINT# 
          ITEM CRERPI (9,0,60);    #END RECOVERY POINT, INTEGER#
          ITEM CRVENAME  C(10,0,07);   # REQUESTED VERSION NAME        #
          ITEM CRVENAMEI U(10,0,60);   # VERSION NAME - INTEGER        #
          END 
        BASED ARRAY LOGREC;        #LOG RECORD# 
*CALL JLRECDCLS 
      BASED ARRAY SELREC;          # SELECT FILE RECORD                #
        BEGIN 
        ITEM SELPVENAM  C(0,0,07); # PRIMARY VERSION NAME              #
        ITEM SELPFOFF   U(0,42,18);# PERMANENT FILE OFFSET             #
  
        ITEM SELJLREC   (1,0,60);  # JOURNAL LOG RECORD                #
        END 
#**********************************************************************#
      BASED ARRAY MDARDIR S(DFMDADEN); #MD AREA DIRECTORY#
        BEGIN 
*CALL MDARDDCLS 
        END 
#**********************************************************************#
      ARRAY MDAINFO S(DFMDAIEN);   # MD AREA INFORMATION TABLE         #
        BEGIN 
*CALL     MDARIDCLS 
        END 
  
        END 
