.PROC,UPDVER*I,
DATE "- Current date"                  = (*A),
TIME "- Current time"                  = (*A),
F "- File name of update"              = (*F),
L "- Library name being updated"       = (*N=#FILE,*F),
U "- Update type"                      = (*N=REPLACE,CREATE,DELETE,REPLACE),
.
.HELP
 The UPDVER procedure UPDates the library VERsion of the DISVER procedure.
 Requires CATALOG binaries with GENCAT entry point.

 Parameter   Default   Description
   Name       Value

   date                date library is being updated
   time                time library is being updated
   f                   file containing library updates
  [l]                  library being updated
  [u]        REPLACE   type of update being performed

.HELP,DATE
 The DATE parameter specifies the date of the update, expressed as DATE+.
.HELP,TIME
 The TIME parameter specifies the time of the update, expressed as TIME+.
.HELP,F
 The F parameter names a file containing updates, or the record being deleted.
.HELP,L
 The L parameter names the library being updated.
 The default value is the file containing this procedure.
.HELP,U
.ENDHELP
.IFE,FILE(DISVER,AS),USERVER.
  $UNLOAD,YYYUPD3.
  $REVERT. LOCAL FILE DISVER FOUND
.ENDIF,USERVER.
.IFE,$U$.EQ.$CREATE$,CREATED.
  .IFE,FILE(F,.NOT.AS),NOTLOCAL.
    GETFILE,F,F,,READ.
  .ELSE,NOTLOCAL.
    $REWIND,F.
  .ENDIF,NOTLOCAL.
  $GTR(F,YYYUPD1,,NR,,NA)PROC/DISVER
.ELSE,CREATED.
  .IFE,FILE(L,.NOT.AS),NOTLOCAL.
    GETFILE,L,L,,READ.
  .ELSE,NOTLOCAL.
    $REWIND,L.
  .ENDIF,NOTLOCAL.
  $GTR(L,YYYUPD1,,NR,,NA)PROC/DISVER
.ENDIF,CREATED.
$IFE,FILE(YYYUPD1,AS),CHANGEVER.
  $UNLOAD,YYYUPD3.
$ELSE,CHANGEVER.
  $RENAME,YYYUPD1=YYYUPD3.
  $SKIPEI,YYYUPD1.
$ENDIF,CHANGEVER.
.IFE,$U$.EQ.$CREATE$,CREATED.
  $NOTE(YYYUPD1,NR)+ CREATED L USING F - #DATE: DATE #TIME: TIME
.ENDIF,CREATED.
.IFE,$U$.EQ.$REPLACE$,REPLACED.
  $NOTE(YYYUPD1,NR)+ REPLACED F --> L - #DATE: DATE #TIME: TIME
.ENDIF,REPLACED.
.IFE,$U$.EQ.$DELETE$,DELETED.
  $NOTE(YYYUPD1,NR)+ DELETED F FROM L - #DATE: DATE #TIME: TIME
.ENDIF,DELETED.
DISLIB,ALL,#L=F,O=YYYUPD2,DO=BRIEF.
$REWIND,YYYUPD2.
$COPY,YYYUPD2,YYYUPD1.
$UNLOAD,YYYUPD2.
$NOTE,YYYUPD1,NR.+
$PACK,YYYUPD1.
$RENAME,DISVER=YYYUPD1.
.IFE,FILE(L,.NOT.AS),NOTLOCAL.
  $UNLOAD,L.
.ENDIF,NOTLOCAL.
.IFE,FILE(F,.NOT.AS),NOTLOCAL.
  $UNLOAD,F.
.ENDIF,NOTLOCAL.
$REVERT. F --> L - #DATE TIME
$SKIP,NOERROR.
  $EXIT.
  $UNLOAD,DISVER,YYYUPD1,YYYUPD2.
  .IFE,FILE(L,.NOT.AS),NOTLOCAL.
    $UNLOAD,L.
  .ENDIF,NOTLOCAL.
  .IFE,FILE(F,.NOT.AS),NOTLOCAL.
    $UNLOAD,F.
  .ENDIF,NOTLOCAL.
  $IFE,(EF.EQ.TIE).OR.(EF.EQ.TAE),TERMINATED.
    $EXIT. UPDVER *TERMINATED*
  $ENDIF,TERMINATED.
  $REVERT,ABORT. UPDVER FAILED
$ENDIF,NOERROR.
.DATA,YYYUPD3
.PROC,DISVER*I
.
.HELP
 THE DISVER PROCEDURE DISPLAYS THE VERSION OF THE CURRENT LIBRARY.
.ENDHELP
$REWIND,YYYSCR2.
$COPYEI,YYYSCR2,OUTPUT.
$UNLOAD,YYYSCR2.
$REVERT. LIBRARY VERSION DISPLAYED
#.DATA,YYYSCR2
  COPYRIGHT CONTROL DATA SYSTEMS INC 1992
  NOS/VE 1.0  - NOS USER LIBRARY MAINTENANCE PROCEDURES

/EOR
