COBOL5Q 
.PROC,COBOL5Q*I,\ 
NOTAF   ' DISABLE TAF INTERFACE      (NO/YES)  '=(*N=TAF,NO=TAF,
                                                  YES=NOTAF,*K=NOTAF),
NOCDCS  ' DISABLE CDCS2 INTERFACE    (NO/YES)  '=(*N=$DMSLIB/$,YES=,
                                                  *K=,NO=$DMSLIB/$),
*CALL COMPC 
*CALL COMUSER 
*CALL COMLIST 
*CALL COMTOB
*CALL COMIA 
*CALL COMTOL
*CALL COMD1 
*CALL COMPROC 
. 
.HELP 
* 
  
.*****  COBOL5Q 
.*
.*      COBOL 5 QUICK INSTALLATION
.*
.*      THIS JOB UPDATES AND CREATES A NEW COBOL5 COMPILER
.*      AND LIBRARY VIA N UPDATE. THIS IS A MUCH FASTER 
.*      METHOD TO INSTALL COBOL5 THAN THE F UPDATE WHEN 
.*      ONLY A FEW ROUTINES HAVE BEEN CHANGED.
  
.***    ************************************************************
.*
.*      C A U T I O N 
.*
.*      THE NEWPL CREATED BY THIS JOB WILL CONTAIN
.*      THOSE IDENTIFIERS THAT RESIDE IN FILE USER
.*
.*      ************************************************************
  
.***    NOTE1 - CORRECTION IDENTS SHOULD BE PUT ON FILE *USER*
.*              FOR SUCCESSFUL INSTALLATION OF COBOL5Q
  
.***    NOTE2 - COBOL5Q CAN BE INSTALLED WITHOUT A TAF INTERFACE
.*              BY USING THE FOLLOWING CALL - 
.*
.*              BEGIN,COBOL5Q,INSTALL,NOTAF.
.*
.ENDHELP
  
  
.*
.*  START COBOL5Q VIA SUBPROC.
.*
BEGIN(SUBPROC,INSTALL,COBOL5,Q,LIST,MAPTYPE,IA,TOBLD,TOLIST,USERF)
REVERT.        COBOL5Q. 
EXIT. 
REVERT(ABORT)  COBOL5Q. 
  
  
.DATA,ZZZPROC 
.PROC,COBOL5Q.
  
* COBOL5Q 
*CALL     PSRLEV
BEGIN(PRDIN,INSTALL,PRDNAME=COB5,#PN=PN,#PR=PR) 
BEGIN(GETPC,INSTALL,#PCDECK=CL5,#PCPL=CPRD,#PC=PC,#CC=CC) 
RETURN(USERT) 
IFE(FILE(MODS,AS),L00001) 
  NOTE(USERT,NR);*READ MODS 
ENDIF(L00001) 
IFE(FILE(USER,AS),L00002) 
  NOTE(USERT,NR);*READ USER 
ENDIF(L00002) 
NOTE(USERT,NR);*C CB5TEXT.CWEOR1A 
NOTE(USERT,NR);*C COBTIME,CWEOR2
NOTE(USERT,NR);*C GSIZE,CWEOR3,VV,CWEOR4
NOTE(USERT,NR);*C -SKEL-,CWEOR5,C$ZN
NOTE(USERT,NR);*C CWEOR6.TDRDWR 
  
IFE($NOCDCS$ .NE. $$, SELCDCS)
NOTE(USERT,NR)+*PURGE DMGMNT
NOTE(USERT,NR)+*IDENT DMGMNT
NOTE(USERT,NR)+*DELETE CB5TEXT.245
NOTE(USERT,NR)+ OP.DCS   CEQU   OP.DCS2      CDCS ACTIVE
NOTE(USERT,NR)+*DELETE ASSEMOP.36 
NOTE(USERT,NR)+      DEF CB5$CDCS ####"CDCS2"####;####CDCS ACTIVE#### 
NOTE(USERT,NR)+*/ END OF MODSET.
BEGIN(GETULIB,INSTALL,DMSLIB) 
ENDIF(SELCDCS)
  
PACK(USERT) 
UPDATE(N,I=USERT,W) 
  
IFE($NOTAF$.EQ.$TAF$,DEF) 
RETURN(IN)
NOTE(IN,NR);*ID,TAF 
NOTE(IN,NR);*#D CL5A980.20
NOTE(IN,NR);OP.TAF    EQU     OP.YES
NOTE(IN,NR);*C CB5TEXT,CWEOR0,C$ACCMN,C$DSPLY,C$MSG,C$TRACE,C$STOPR 
PACK(IN)
UPDATE(Q,P=NEWPL,I=IN,C=TAF)
COMPASS(I=TAF,S=IPTEXT,B=TAFTXT,L=LIST) 
COMPASS(I=TAF,S=SYSTEXT,S=IOTEXT,G=TAFTXT,B=TAFBIN,L=LIST)
RETURN(TAFTXT,TAF)
ENDIF(DEF)
REWIND(NEWPL) 
SKIPF(DISK) 
COPYBF(DISK,OLDOBJ) 
COPYBF(DISK,OLDBIN) 
REWIND(OLDOBJ,OLDBIN,OLDPL) 
GTR(OLDOBJ,TEMP)REL/* 
RETURN(OLDOBJ)
RENAME(OLDOBJ=TEMP) 
REWIND(NEWPL) 
COMPASS(I,S=IPTEXT,B=TEXT,L=LIST) 
COMPASS(I,G=TEXT,B=CTEXT,L=LIST)
SYMPL(ET=T,I,B=SYMTEXT,L=LIST)
COMPASS(I,S=PSSTEXT,S=IOTEXT,G=TEXT,S=CPUTEXT,B=REL,L=LIST) 
COMPASS(I,S=IOTEXT,G=TEXT,G=CTEXT,B=REL,L=LIST) 
SYMPL(ET=T,I,Y=SYMTEXT,B=REL,L=LIST)
COMPASS(I,S=0,B=SKEL,L=LIST)
COMPASS(I,S=SYSTEXT,S=IOTEXT,S=SSYTEXT,G=TEXT,B=LIB,L=LIST) 
COMPASS(I,S=CPUTEXT,G=TEXT,B=TERMBIN,L=LIST)
SYMPL(ET=T,I,Y=SYMTEXT,B=TDBINS,L=LIST) 
COMPASS(I,S=CPUTEXT,G=TEXT,B=TDBINS,L=LIST) 
RETURN(COMPILE) 
BEGIN(GETULIB,INSTALL,BAMLIB,SRT5LIB,SYSLIB,SYMLIB,FTN5LIB) 
REWIND(REL,SKEL)
COPYLM(SKEL,OLDBIN,NEW) 
RETURN(SKEL,OLDBIN) 
REWIND(NEW) 
COPYLM(NEW,REL,NEWBIN)
REWIND(NEWBIN)
RETURN(REL,NEW) 
RENAME(REL=NEWBIN)
REWIND(OLDOBJ,LIB)
COPYLM(OLDOBJ,LIB,NEWOBJ,,A)
RETURN(OLDOBJ,LIB)
RENAME(OLDOBJ=NEWOBJ) 
REWIND(OLDOBJ)
COPYLM(OLDOBJ,TERMBIN,NEWOBJ,,A)
RETURN(OLDOBJ,LIB)
RENAME(LIB=NEWOBJ)
REWIND(LIB) 
LDSET(OMIT=QDUMMY)
LDSET(LIB=BAMLIB/_NOCDCS_SRT5LIB/SYSLIB)
LDSET(ERR=ALL,PRESET=ZERO)
LOAD(REL) 
NOGO(LGO) 
NOTE(IN);*BEFORE *,REL/*
LIBEDIT(P=0,B=LIB,I=IN,L=0,N=LIBA)
LIBGEN(F=LIBA,P=COB5LIB)
LDSET(ERR=ALL,PRESET=ZERO)
LDSET(LIB=COB5LIB/SYSLIB) 
GROUP(COBOL5) 
CAPSULE($C$$MSGC$,$C$$TERM$)
LOAD(TERMBIN) 
NOGO(TERMCAP) 
LDSET(ERR=ALL,PRESET=ZERO)
LDSET(LIB=COB5LIB/SYSLIB) 
LDSET(OMIT=XXXX)
LOAD(TDBINS)
NOGO(TDABS) 
RETURN(LIBA,COB5LIB)
REWIND(LIB,TERMCAP) 
GTR(LIB,OUT,,NR)REL/* 
GTR(TERMCAP,OUT,,NR)CAP/* 
RETURN(LIB,TERMCAP) 
RENAME(LIB=OUT) 
REWIND(LGO,TDABS) 
GTR(TDABS,A,,NR)ABS/* 
GTR(LGO,A,,NR)ABS/* 
GTR(LGO,A,,NR)OVL/* 
RENAME(LGO=A) 
IFE(.NOT.FILE(TAFBIN,AS),L00001)
WRITEF(TAFBIN)
ENDIF(L00001) 
RENAME(LIB2=TAFBIN)...RELS FOR TRANLIB... 
BEGIN(SAVELIB,INSTALL,LIB=LIB,LIBNAME=COBOL5) 
BEGIN(PRDOUT,INSTALL,PRDNAME=COB5,#PNO=PNO,#PRO=PRO)
GTR(LGO,GLOBLGO)ABS/*,OVL/* 
REWIND(LGO,ABS,TEXT)
COPYBR(TEXT,ABS)
COPYBF(LGO,ABS) 
RENAME(LGO=ABS) 
REWIND(LIB2)
COPYBR(LIB2,CHECK)
GTR(CHECK,EMPTY,,,,NA)REL/*,CAP/* 
IFE(FILE(EMPTY,AS),X50) 
RETURN(CHECK,EMPTY) 
BEGIN(SAVELIB,INSTALL,LIB=LIB2,LIBNAME=TRANLIB) 
BEGIN(GENLIB,INSTALL,LIBRARY=TRANLIB,LIB=LIB2)
ENDIF(X50)
* 
BEGIN(GENDIR,INSTALL,LIB=19)
BEGIN(SAVELGO,INSTALL,PRDNAME=COB5) 
BEGIN(END,INSTALL,MFT=R1G+) 
REVERT.  COBOL5Q. 
EXIT. 
REVERT(ABORT)  COBOL5Q. 
*WEOR 
