ACCGLOB 
.PROC,ACCGLOB*I"ACCESS GLOBLIB",
M       ' ACCESS MODE     (R,W,CREATE,RETURN)  '=(R,W,CREATE,RETURN), 
GLOBLIB ' GLOBLIB FILE                         '=(*N=GLOBLIB,*F), 
GLOBTMP ' TEMPORARY GLOBLIB FILE               '=(*N=GLOBTMP,*F), 
GLOBLOC ' LOCK OUT FILE                        '=(*N=GLOBLOC,*F), 
GLOBOLD ' BACKUP FILE                          '=(*N=GLOBOLD,*F), 
*CALL COMPROC 
. 
*IF,DEF,PDOC
.HELP 
  
THIS PROCEDURE IS USED TO ACCESS THE FILE GLOBLIB AND ITS *CONTROL* 
FILES GLOBLOC, GLOBTMP, AND GLOBOLD.  PERMANENT FILE NAMES FOR THESE
FILES WILL BE PASSED IN BY THE CALLING PROCEDURE *ACCESS*.  LOCAL 
FILE NAMES WILL ALWAYS BE GLOBLIB, GLOBLOC, GLOBTMP, AND GLOBOLD. 
  
.HELP,M 
*R* ATTACHES GLOBLIB IN READ MODE.
*CREATE* PURGE FILE THEN DEFINE IT AND ATTACH THE 
  LOCK FILE *GLOBLOC*.
*W* WILL ATTACH THE LOCK FILE AND CREATE FILE *GLOBTMP* TO HOLD 
  THE NEW GLOBLIB.
*RETURN* WILL MAKE THE NEW GLOBLIB AVAILABLE AND RETURN THE LOCK FILE.
.ENDHELP
*ENDIF
  
*************** A C C G L O B ********************
  
.IF, ( $M$ .EQ. $R$ ) ,ACCGLOB10. 
  
  ATTACH(#GLOBLIB=GLOBLIB)
  
.ELSE(ACCGLOB10)
.IF, ( $M$ .EQ. $CREATE$ ) ,ACCGLOB10.
  
  RETURN(#GLOBLOC,#GLOBLIB) 
  PURGE(GLOBLOC/NA) 
  DEFINE(#GLOBLOC=GLOBLOC)
  PURGE(GLOBLIB/NA) 
  DEFINE(#GLOBLIB=GLOBLIB/#M=R,CT=S)
  BEGIN(PERMIT,INSTALL,REALFN=GLOBLIB,SYMFN=GLOBLIB)
  
.ELSE(ACCGLOB10)
.IF, ( $M$ .EQ. $W$ ) ,ACCGLOB10. 
  
  ATTACH(#GLOBLOC=GLOBLOC/#M=W,WB)
  PURGE(GLOBTMP/NA) 
  RETURN(#GLOBTMP)
  DEFINE(#GLOBTMP=GLOBTMP/#M=R,CT=S)
  ATTACH(#GLOBOLD=GLOBLIB)
  
.ELSE(ACCGLOB10)
  
  .* M=RETURN 
  PURGE(GLOBOLD/NA) 
  RETURN(#GLOBTMP,#GLOBOLD) 
  CHANGE(GLOBOLD=GLOBLIB,GLOBLIB=GLOBTMP) 
  BEGIN(PERMIT,INSTALL,REALFN=GLOBLIB,SYMFN=GLOBLIB)
  PURGE(GLOBOLD/NA) 
  RETURN(#GLOBLOC)
  
.ENDIF(ACCGLOB10) 
  
RETURN(CONVERT) 
  
REVERT. ACCGLOB **********************************
EXIT. ACCGLOB 
REVERT(ABORT) ACCGLOB ****************************
*WEOR 
